]> git.saurik.com Git - bison.git/blobdiff - src/location.h
Fix push parsing memory leak reported by Brandon Lucia at
[bison.git] / src / location.h
index 150b842f6db80e93c021d7f83d1f3cc5edf27e6d..0b4f715a2cca17585443ddabe444034c406128d7 100644 (file)
@@ -1,5 +1,5 @@
 /* Locations for Bison
 /* Locations for Bison
-   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -21,7 +21,6 @@
 #ifndef LOCATION_H_
 # define LOCATION_H_
 
 #ifndef LOCATION_H_
 # define LOCATION_H_
 
-# include <stdbool.h>
 # include "uniqstr.h"
 
 /* A boundary between two characters.  */
 # include "uniqstr.h"
 
 /* A boundary between two characters.  */
@@ -45,9 +44,9 @@ typedef struct
 static inline void
 boundary_set (boundary *b, const char *f, int l, int c)
 {
 static inline void
 boundary_set (boundary *b, const char *f, int l, int c)
 {
-  b->file = f; 
-  b->line = l;         
-  b->column = c;               
+  b->file = f;
+  b->line = l;
+  b->column = c;
 }
 
 /* Return nonzero if A and B are equal boundaries.  */
 }
 
 /* Return nonzero if A and B are equal boundaries.  */
@@ -72,6 +71,7 @@ typedef struct
 
 #define YYLTYPE location
 
 
 #define YYLTYPE location
 
+#define EMPTY_LOCATION_INIT {{NULL, 0, 0}, {NULL, 0, 0}}
 extern location const empty_location;
 
 /* Set *LOC and adjust scanner cursor to account for token TOKEN of
 extern location const empty_location;
 
 /* Set *LOC and adjust scanner cursor to account for token TOKEN of
@@ -81,4 +81,7 @@ void location_compute (location *loc,
 
 void location_print (FILE *out, location loc);
 
 
 void location_print (FILE *out, location loc);
 
+/* LOC_STR must be formatted as `file:line.column', it will be modified.  */
+void boundary_set_from_string (boundary *bound, char *loc_str);
+
 #endif /* ! defined LOCATION_H_ */
 #endif /* ! defined LOCATION_H_ */