]> git.saurik.com Git - bison.git/commitdiff
Locations without columns for command line arguments.
authorAkim Demaille <demaille@gostai.com>
Tue, 29 Jul 2008 10:45:21 +0000 (12:45 +0200)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Fri, 3 Apr 2009 06:24:48 +0000 (02:24 -0400)
* src/location.c (location_print): Don't display negative columns.
* src/location.h: Document this.
(cherry picked from commit 56c5eca97359ecc15481c6b9dff8f34c63219d70)

ChangeLog
src/location.c
src/location.h

index 92166b09c08a96e2bae8a826d3a0738193cadc06..0bebbdfda47aca6eaf0edda6a538bf1120dbd884 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Locations without columns for command line arguments.
+       * src/location.c (location_print): Don't display negative columns.
+       * src/location.h: Document this.
+
 2009-02-03  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Add reminder about uploading public key to keys.gnupg.net.
 2009-02-03  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Add reminder about uploading public key to keys.gnupg.net.
index 57adf1882073fef954f01f14e554c9a4406f9f7c..98627a559c2c02204d43c55e33b422dd7b12f412 100644 (file)
@@ -1,5 +1,5 @@
 /* Locations for Bison
 /* Locations for Bison
-   Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -101,9 +101,11 @@ void
 location_print (FILE *out, location loc)
 {
   int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
 location_print (FILE *out, location loc)
 {
   int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
-  fprintf (out, "%s:%d.%d",
+  fprintf (out, "%s:%d",
           quotearg_n_style (3, escape_quoting_style, loc.start.file),
           quotearg_n_style (3, escape_quoting_style, loc.start.file),
-          loc.start.line, loc.start.column);
+          loc.start.line);
+  if (0 <= loc.start.column)
+    fprintf (out, ".%d", loc.start.column);
 
   if (loc.start.file != loc.end.file)
     fprintf (out, "-%s:%d.%d",
 
   if (loc.start.file != loc.end.file)
     fprintf (out, "-%s:%d.%d",
@@ -111,7 +113,7 @@ location_print (FILE *out, location loc)
             loc.end.line, end_col);
   else if (loc.start.line < loc.end.line)
     fprintf (out, "-%d.%d", loc.end.line, end_col);
             loc.end.line, end_col);
   else if (loc.start.line < loc.end.line)
     fprintf (out, "-%d.%d", loc.end.line, end_col);
-  else if (loc.start.column < end_col)
+  else if (0 <= loc.start.column && loc.start.column < end_col)
     fprintf (out, "-%d", end_col);
 }
 
     fprintf (out, "-%d", end_col);
 }
 
index 785947ef0a738923c045d7d562619219ea11e5a8..efd256dd9529b40f10c15d2479073f34a8378136 100644 (file)
@@ -1,5 +1,5 @@
 /* Locations for Bison
 /* Locations for Bison
-   Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -31,9 +31,13 @@ typedef struct
      If this is INT_MAX, the line number has overflowed.  */
   int line;
 
      If this is INT_MAX, the line number has overflowed.  */
   int line;
 
-  /* The (origin-1) column just after the boundary.  This is neither a
-     byte count, nor a character count; it is a column count.
-     If this is INT_MAX, the column number has overflowed.  */
+  /* If nonnegative, the (origin-1) column just after the boundary.
+     This is neither a byte count, nor a character count; it is a
+     column count.  If this is INT_MAX, the column number has
+     overflowed.
+
+     Meaningless and not displayed if negative.
+  */
   int column;
 
 } boundary;
   int column;
 
 } boundary;