This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix 69650, bogus line numbers from libcpp


On 03/23/2016 01:41 PM, Richard Biener wrote:
Btw, the issue in the PR is also fixed with a simple

Index: libcpp/line-map.c
===================================================================
--- libcpp/line-map.c   (revision 234415)
+++ libcpp/line-map.c   (working copy)
@@ -543,7 +543,7 @@ linemap_add (struct line_maps *set, enum
                  to_file);

        /* A TO_FILE of NULL is special - we use the natural values.  */
-      if (error || to_file == NULL)
+      if (to_file == NULL)
         {
           to_file = ORDINARY_MAP_FILE_NAME (from);
           to_line = SOURCE_LINE (from, from[1].start_location);

I looked at that, but that made it hard to add the testcase as the line numbers no longer match the dg-error directives. By moving this code we can ignore the erroneous #line directive, and for this one testcase at least, that makes the line numbers (and caret diagnostics etc.) come out right.


Bernd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]