]> git.saurik.com Git - bison.git/blobdiff - tests/headers.at
fix for printers and destructors.
[bison.git] / tests / headers.at
index 9d4946d676ce5f8e407905f7bdac8a012590eed7..a28f2e1bd72cb94ccb60d9fee917f6d4b6ab4ac1 100644 (file)
 AT_BANNER([[Parser Headers.]])
 
 
 AT_BANNER([[Parser Headers.]])
 
 
-## ---------------------- ##
-## %union and --defines.  ##
-## ---------------------- ##
-
-
-AT_SETUP([%union and --defines])
-
-AT_DATA([input.y],
-[%union
-{
-  int   integer;
-  char *string ;
-}
-%%
-exp: {};
-])
-
-AT_BISON_CHECK([--defines input.y])
-
-AT_CLEANUP
-
-
-
 ## --------------------- ##
 ## Invalid CPP headers.  ##
 ## --------------------- ##
 
 ## --------------------- ##
 ## Invalid CPP headers.  ##
 ## --------------------- ##
 
-# AT_TEST_CPP_GUARD_H([INPUT-FILE-BASE)
-# -------------------------------------
+# AT_TEST_CPP_GUARD_H(BASE-NAME, [DIRECTIVES])
+# --------------------------------------------
+# FIXME: Much of this can be covered by calc.at.
 m4_define([AT_TEST_CPP_GUARD_H],
 m4_define([AT_TEST_CPP_GUARD_H],
-[AT_SETUP([Invalid CPP guards: $1])
-
+[AT_SETUP([Invalid CPP guards: $2 --defines=$1.h])
+AT_BISON_OPTION_PUSHDEFS([$2])
 # Possibly create inner directories.
 dirname=`AS_DIRNAME([$1])`
 AS_MKDIR_P([$dirname])
 
 AT_DATA_GRAMMAR([$1.y],
 # Possibly create inner directories.
 dirname=`AS_DIRNAME([$1])`
 AS_MKDIR_P([$dirname])
 
 AT_DATA_GRAMMAR([$1.y],
-[%{
+[$2
+%{
 #include <$1.h>
 #include <$1.h>
-void yyerror (const char *);
-int yylex (void);
+]AT_YYERROR_DECLARE_EXTERN[
+]AT_YYLEX_DECLARE_EXTERN[
 %}
 %%
 dummy:;
 %}
 %%
 dummy:;
@@ -67,15 +46,18 @@ dummy:;
 #include <$1.h>
 ])
 
 #include <$1.h>
 ])
 
-AT_BISON_CHECK([--defines=$1.h --output=y.tab.c $1.y])
+AT_BISON_CHECK([--defines=$1.h --output=$1.c $1.y])
 
 
-AT_COMPILE([y.tab.o], [-I. -c y.tab.c])
+AT_COMPILE([$1.o], [-I. -c $1.c])
 
 
+AT_BISON_OPTION_POPDEFS
 AT_CLEANUP
 ])
 
 AT_TEST_CPP_GUARD_H([input/input])
 AT_TEST_CPP_GUARD_H([9foo])
 AT_CLEANUP
 ])
 
 AT_TEST_CPP_GUARD_H([input/input])
 AT_TEST_CPP_GUARD_H([9foo])
+AT_TEST_CPP_GUARD_H([input/input], [%glr-parser])
+AT_TEST_CPP_GUARD_H([9foo],        [%glr-parser])