]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Merge branch '3.2-maint'
authorJoel Rosdahl <joel@rosdahl.net>
Mon, 11 Jul 2016 19:44:44 +0000 (21:44 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Mon, 11 Jul 2016 19:44:44 +0000 (21:44 +0200)
* 3.2-maint:
  Doc and comment spelling fixes
  Fix some cppcheck style suggestions
  Update NEWS
  Work around preprocessor bugs in gcc version 6

1  2 
HACKING.txt
MANUAL.txt
NEWS.txt
ccache.c
uncrustify.cfg

diff --cc HACKING.txt
Simple merge
diff --cc MANUAL.txt
Simple merge
diff --cc NEWS.txt
Simple merge
diff --cc ccache.c
index 34f8352debe0cacc8fd8c73d9ac0c65451dcc277,02beab0e5397af696d77012d52b81a8716d3b0c2..b3d3cce6ba210df2fa0637e320367436cd7de1ff
+++ b/ccache.c
@@@ -827,8 -749,29 +827,30 @@@ process_preprocessed_file(struct mdfou
                            && q[5] == ' '))
                    && (q == data || q[-1] == '\n')) {
                        char *path;
 +                      bool system;
  
+                       /* Workarounds for preprocessor linemarker bugs in GCC version 6 */
+                       if (q[2] == '3') {
+                               if (str_startswith(q, "# 31 \"<command-line>\"\n")) {
+                                       /* Bogus extra line with #31, after the regular #1:
+                                          Ignore the whole line, and continue parsing */
+                                       while (q < end && *q != '\n') {
+                                               q++;
+                                       }
+                                       p = q;
+                                       continue;
+                               } else if (str_startswith(q, "# 32 \"<command-line>\" 2\n")) {
+                                       /* Bogus wrong line with #32, instead of regular #1:
+                                          Replace the line number with the usual one */
+                                       hash_buffer(hash, p, q - p);
+                                       q += 1;
+                                       q[0] = '#';
+                                       q[1] = ' ';
+                                       q[2] = '1';
+                                       p = q;
+                               }
+                       }
                        while (q < end && *q != '"' && *q != '\n') {
                                q++;
                        }
diff --cc uncrustify.cfg
Simple merge