lib: fix calib_yyparse() conflict
authorIan Abbott <abbotti@mev.co.uk>
Thu, 21 Mar 2013 15:12:35 +0000 (15:12 +0000)
committerIan Abbott <abbotti@mev.co.uk>
Thu, 21 Mar 2013 15:12:35 +0000 (15:12 +0000)
For newer versions of Bison, the declaration of our calib_yyparse()
function in "lib/libinternal.h" clashes with that in the generated
"lib/calib_yacc.h".

Remove the declarations of calib_yyerror() and calib_yyparse() from
"lib/libinternal.h" and declare them in "lib/calib_yacc.c".

lib/calib_yacc.y
lib/libinternal.h

index 5a2dd95120b3f6e72d3c4841ca33fe262702b0f3..94483d91e1510b4740c282604cad8cdb1679eb25 100644 (file)
 #include <math.h>
 #include <string.h>
 #include <stdlib.h>
-#include "calib_yacc.h"
-#include "calib_lex.h"
 
 #define YYERROR_VERBOSE
 #define YYPARSE_PARAM parse_arg
 #define YYLEX_PARAM priv(YYPARSE_PARAM)->yyscanner
 
+#include "calib_yacc.h"
+#include "calib_lex.h"
+
 enum polynomial_direction
 {
        POLYNOMIAL_TO_PHYS,
@@ -347,6 +348,11 @@ extern comedi_calibration_t* _comedi_parse_calibration_file( const char *cal_fil
        return priv.parsed_file;
 }
 
+static void yyerror(const char *s)
+{
+       fprintf(stderr, "%s\n", s);
+}
+
 %}
 
 %pure_parser
@@ -504,10 +510,5 @@ extern comedi_calibration_t* _comedi_parse_calibration_file( const char *cal_fil
 
 %%
 
-void calib_yyerror(char *s)
-{
-       fprintf(stderr, "%s\n", s);
-}
-
 
 
index 7f58c745609246589426997cf1869e69540ca20a..05e35dd4af2094346ab505360c14fa089bdeb1e6 100644 (file)
@@ -146,8 +146,6 @@ int valid_chan(comedi_t *it,unsigned int subdevice,unsigned int chan);
 int comedi_get_rangetype(comedi_t *it,unsigned int subdevice,unsigned int chan);
 
 #define YY_DECL int calib_yylex(YYSTYPE *calib_lvalp, yyscan_t yyscanner)
-void calib_yyerror(char *s);
-int calib_yyparse(void *parse_arg);
 
 #endif