* tests/local.at (AT_FULL_COMPILE): New.
* tests/actions.at, tests/calc.at, tests/regression.at: Use it.
+2008-11-11 Akim Demaille <demaille@gostai.com>
+
+ AT_FULL_COMPILE.
+ * tests/local.at (AT_FULL_COMPILE): New.
+ * tests/actions.at, tests/calc.at, tests/regression.at: Use it.
+
2008-11-11 Akim Demaille <demaille@gostai.com>
Support parens in calc++.
# Executing Actions. -*- Autotest -*-
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
# Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
}
]])
-AT_LALR1_CC_IF(
- [AT_BISON_CHECK([-o input.cc input.y])
- AT_COMPILE_CXX([input])],
- [AT_BISON_CHECK([-o input.c input.y])
- AT_COMPILE([input])])
+AT_FULL_COMPILE([input])
# Check the location of "empty"
AT_BISON_OPTION_PUSHDEFS([$1])
AT_DATA_CALC_Y([$1])
-
-AT_SKEL_CC_IF(
- [AT_BISON_CHECK([-o calc.cc calc.y])
- AT_COMPILE_CXX([calc])],
- [AT_BISON_CHECK([-o calc.c calc.y])
- AT_COMPILE([calc])])
+AT_FULL_COMPILE([calc])
# Test the priorities.
_AT_CHECK_CALC([$1],
# Process this -*- Autotest -*- file with autom4te.
# Macros for the GNU Bison Test suite.
-# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
0, [ignore], [ignore])])
+# AT_FULL_COMPILE(OUTPUT)
+# -----------------------
+# Compile OUTPUT.y to OUTPUT.c or OUTPUT.cc, and compile it to OUTPUT.
+# Relies on AT_SKEL_CC_IF.
+m4_define([AT_FULL_COMPILE],
+[AT_SKEL_CC_IF(
+ [AT_BISON_CHECK([-o $1.cc $1.y])
+ AT_COMPILE_CXX([$1])],
+ [AT_BISON_CHECK([-o $1.c $1.y])
+ AT_COMPILE([$1])])
+])
+
## ---------------------------- ##
## Running a generated parser. ##
AT_BISON_OPTION_PUSHDEFS([$1])
_AT_DATA_DANCER_Y([$1])
AT_BISON_CHECK([-o dancer.c dancer.y])
-AT_LALR1_CC_IF(
- [AT_BISON_CHECK([-o dancer.cc dancer.y])
- AT_COMPILE_CXX([dancer])],
- [AT_BISON_CHECK([-o dancer.c dancer.y])
- AT_COMPILE([dancer])])
+AT_FULL_COMPILE([dancer])
AT_PARSER_CHECK([./dancer], 1, [],
[syntax error, unexpected ':'
])
AT_BISON_OPTION_PUSHDEFS([$1])
_AT_DATA_EXPECT2_Y([$1])
AT_BISON_CHECK([-o expect2.c expect2.y])
-AT_LALR1_CC_IF(
- [AT_BISON_CHECK([-o expect2.cc expect2.y])
- AT_COMPILE_CXX([expect2])],
- [AT_BISON_CHECK([-o expect2.c expect2.y])
- AT_COMPILE([expect2])])
+AT_FULL_COMPILE([expect2])
AT_PARSER_CHECK([./expect2], 1, [],
[syntax error, unexpected '+', expecting A or B
])