mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 17:53:02 +00:00
deprecate %defines in favor of %header
This is consistent with --defines being deprecated in favor of --header. The directive %defines is also too similar to %define. And %header matches nicely with api.header.name. * src/scan-gram.l (%defines): Deprecate to %header. (%header): Scan it. * src/parse-gram.y (PERCENT_DEFINES): Replace with... (PERCENT_HEADER): this. * data/skeletons/lalr1.java * doc/bison.texi * tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at, * tests/input.at, tests/java.at, tests/local.at, tests/output.at, * tests/synclines.at, tests/types.at: Convert most tests to check %header instead of %defines.
This commit is contained in:
@@ -106,30 +106,30 @@ AT_CHECK_OUTPUT([foo.y], [], [-dv -g -o foo.c],
|
||||
[foo.c foo.dot foo.h foo.output])
|
||||
|
||||
|
||||
AT_CHECK_OUTPUT([foo.y], [%defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([foo.y], [%header %verbose], [],
|
||||
[foo.output foo.tab.c foo.tab.h])
|
||||
AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
|
||||
AT_CHECK_OUTPUT([foo.y], [%header %verbose %yacc],[],
|
||||
[y.output y.tab.c y.tab.h])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose %yacc],[],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%header %verbose %yacc],[],
|
||||
[y.output y.tab.c y.tab.h])
|
||||
|
||||
# Exercise %output and %file-prefix including deprecated '='
|
||||
AT_CHECK_OUTPUT([foo.y], [%file-prefix "bar" %defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([foo.y], [%file-prefix "bar" %header %verbose], [],
|
||||
[bar.output bar.tab.c bar.tab.h])
|
||||
AT_CHECK_OUTPUT([foo.y], [%output "bar.c" %defines %verbose %yacc],[],
|
||||
AT_CHECK_OUTPUT([foo.y], [%output "bar.c" %header %verbose %yacc],[],
|
||||
[bar.c bar.h bar.output])
|
||||
AT_CHECK_OUTPUT([foo.y],
|
||||
[%file-prefix "baz" %output "bar.c" %defines %verbose %yacc],
|
||||
[%file-prefix "baz" %output "bar.c" %header %verbose %yacc],
|
||||
[],
|
||||
[bar.c bar.h bar.output])
|
||||
|
||||
|
||||
# Check priorities of extension control.
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%header %verbose], [],
|
||||
[foo.output foo.tab.cc foo.tab.hh])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose ], [-o foo.c],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%header %verbose ], [-o foo.c],
|
||||
[foo.c foo.h foo.output])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [],
|
||||
@@ -137,10 +137,10 @@ AT_CHECK_OUTPUT([foo.yy], [],
|
||||
[foo.c++ foo.hpp])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [],
|
||||
[--defines=foo.hpp -o foo.c++],
|
||||
[--header=foo.hpp -o foo.c++],
|
||||
[foo.c++ foo.hpp])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines "foo.hpp"],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%header "foo.hpp"],
|
||||
[-o foo.c++],
|
||||
[foo.c++ foo.hpp])
|
||||
|
||||
@@ -162,6 +162,14 @@ AT_CHECK_OUTPUT([foo.y], [%define useless],
|
||||
[foo.dot foo.output foo.xml],
|
||||
[1])
|
||||
|
||||
# %header was spelled %defines before.
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines],
|
||||
[-o foo.c++],
|
||||
[foo.c++ foo.h++])
|
||||
AT_CHECK_OUTPUT([foo.yy], [%defines "foo.hpp"],
|
||||
[-o foo.c++],
|
||||
[foo.c++ foo.hpp])
|
||||
|
||||
|
||||
## ------------ ##
|
||||
## C++ output. ##
|
||||
@@ -179,48 +187,48 @@ AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc"], [],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc" %verbose], [],
|
||||
[foo.output foo.tab.cc])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc" %defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc" %header %verbose], [],
|
||||
[foo.output foo.tab.cc foo.tab.hh stack.hh])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc" %verbose %locations], [],
|
||||
[foo.output foo.tab.cc])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc" %defines %verbose %locations], [],
|
||||
AT_CHECK_OUTPUT([foo.yy], [%skeleton "lalr1.cc" %header %verbose %locations], [],
|
||||
[foo.output foo.tab.cc foo.tab.hh location.hh position.hh stack.hh])
|
||||
|
||||
AT_CHECK_OUTPUT([subdir/foo.yy], [%skeleton "lalr1.cc" %defines %verbose], [],
|
||||
AT_CHECK_OUTPUT([subdir/foo.yy], [%skeleton "lalr1.cc" %header %verbose], [],
|
||||
[foo.output foo.tab.cc foo.tab.hh stack.hh],
|
||||
[], [AT_CHECK_NO_SUBDIR_PART([foo.tab])])
|
||||
|
||||
AT_CHECK_OUTPUT([subdir/foo.yy], [%skeleton "lalr1.cc" %defines %verbose %locations],
|
||||
AT_CHECK_OUTPUT([subdir/foo.yy], [%skeleton "lalr1.cc" %header %verbose %locations],
|
||||
[-o subdir/foo.cc],
|
||||
[subdir/foo.cc subdir/foo.hh subdir/foo.output subdir/location.hh subdir/position.hh subdir/stack.hh],
|
||||
[], [AT_CHECK_NO_SUBDIR_PART([subdir/foo])])
|
||||
|
||||
AT_CHECK_OUTPUT([gram_dir/foo.yy],
|
||||
[%skeleton "lalr1.cc" %defines %verbose %file-prefix "output_dir/foo"],
|
||||
[%skeleton "lalr1.cc" %header %verbose %file-prefix "output_dir/foo"],
|
||||
[],
|
||||
[output_dir/foo.output output_dir/foo.tab.cc output_dir/foo.tab.hh output_dir/stack.hh])
|
||||
|
||||
AT_CHECK_OUTPUT([gram_dir/foo.yy],
|
||||
[%skeleton "lalr1.cc" %defines %locations %verbose %file-prefix "output_dir/foo"],
|
||||
[%skeleton "lalr1.cc" %header %locations %verbose %file-prefix "output_dir/foo"],
|
||||
[],
|
||||
[output_dir/foo.output output_dir/foo.tab.cc output_dir/foo.tab.hh output_dir/location.hh output_dir/position.hh output_dir/stack.hh])
|
||||
|
||||
# %require "3.2" => no position.hh not stack.hh.
|
||||
AT_CHECK_OUTPUT([foo.yy],
|
||||
[%skeleton "lalr1.cc" %defines %locations %define api.location.file none %require "3.2"],
|
||||
[%skeleton "lalr1.cc" %header %locations %define api.location.file none %require "3.2"],
|
||||
[],
|
||||
[foo.tab.cc foo.tab.hh])
|
||||
|
||||
AT_CHECK_OUTPUT([foo.yy],
|
||||
[%skeleton "lalr1.cc" %defines %locations %define api.location.file "foo.loc.hh" %require "3.2"],
|
||||
[%skeleton "lalr1.cc" %header %locations %define api.location.file "foo.loc.hh" %require "3.2"],
|
||||
[],
|
||||
[foo.loc.hh foo.tab.cc foo.tab.hh])
|
||||
|
||||
# Absolute paths.
|
||||
AT_CHECK_OUTPUT([foo.yy],
|
||||
[%skeleton "lalr1.cc" %defines %locations %define api.location.file "$at_dir/foo.loc.hh" %require "3.2"],
|
||||
[%skeleton "lalr1.cc" %header %locations %define api.location.file "$at_dir/foo.loc.hh" %require "3.2"],
|
||||
[],
|
||||
[foo.loc.hh foo.tab.cc foo.tab.hh])
|
||||
|
||||
@@ -255,12 +263,12 @@ AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
||||
]])
|
||||
|
||||
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
||||
[%defines "foo.output"], [-v],
|
||||
[%header "foo.output"], [-v],
|
||||
[[foo.y: warning: conflicting outputs to file 'foo.output' [-Wother]
|
||||
]])
|
||||
|
||||
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
||||
[%skeleton "lalr1.cc" %defines %locations], [--graph="location.hh"],
|
||||
[%skeleton "lalr1.cc" %header %locations], [--graph="location.hh"],
|
||||
[[foo.y: warning: conflicting outputs to file 'location.hh' [-Wother]
|
||||
]])
|
||||
|
||||
@@ -757,7 +765,7 @@ AT_BISON_OPTION_POPDEFS
|
||||
mkdir -p out/include/ast
|
||||
|
||||
AT_TEST([x1],
|
||||
[%defines
|
||||
[%header
|
||||
%locations
|
||||
%define api.location.file "include/ast/loc.hh"
|
||||
])
|
||||
@@ -788,7 +796,7 @@ AT_CHECK([[sed -ne 's/^#line [0-9][0-9]* "/#line "/p;/INCLUDED/p;/\\file/{p;n;p;
|
||||
]])
|
||||
|
||||
AT_TEST([x2],
|
||||
[%defines
|
||||
[%header
|
||||
%locations
|
||||
%code requires {#include "include/ast/loc.hh"}
|
||||
%define api.location.type {x1::location}])
|
||||
|
||||
Reference in New Issue
Block a user