Browse Source

fix for bison greater than 1.35

David Rose 23 years ago
parent
commit
df88308629
2 changed files with 7 additions and 4 deletions
  1. 7 2
      dtool/src/cppparser/cppBisonDefs.h
  2. 0 2
      dtool/src/cppparser/cppToken.cxx

+ 7 - 2
dtool/src/cppparser/cppBisonDefs.h

@@ -97,14 +97,19 @@ public:
 // lexer.
 
 struct cppyyltype {
-  int timestamp;
   int first_line;
   int first_column;
   int last_line;
   int last_column;
-  char *text;
   CPPFile file;
 };
 #define YYLTYPE cppyyltype
 
+// Beginning around bison 1.35 or so, we need to define this macro as
+// well, to tell bison how to collect multiple locations together.
+#define YYLLOC_DEFAULT(Current, Rhs, N)          \
+  Current = Rhs[1];                              \
+  Current.last_line    = Rhs[N].last_line;       \
+  Current.last_column  = Rhs[N].last_column;
+
 #endif

+ 0 - 2
dtool/src/cppparser/cppToken.cxx

@@ -35,12 +35,10 @@ CPPToken(int token, int line_number, int col_number,
   _token(token), _lval(lval)
 {
   _lval.str = str;
-  _lloc.timestamp = 0;
   _lloc.first_line = line_number;
   _lloc.first_column = col_number;
   _lloc.last_line = line_number;
   _lloc.last_column = col_number;
-  _lloc.text = NULL;
   _lloc.file = file;
 }