lalr1.cc: don't generate location.hh when location_type is defined

* data/bison.m4 (b4_percent_define_get): Accept a default value.
	* data/c++.m4: Do not provide a default value for the %define
	variable location_type, rather, use b4_percent_define_get with a
	default argument where its value is needed.
	* data/lalr1.cc: Do not load location.cc (which outputs both
	location.hh and position.hh) if the user defined location_type.
	Do not include location.hh either.
This commit is contained in:
Akim Demaille
2010-04-14 17:56:38 +02:00
parent 19ad326be4
commit 7789b6e3e7
4 changed files with 33 additions and 12 deletions

View File

@@ -563,10 +563,11 @@ m4_define([b4_percent_define_use],
[m4_define([b4_percent_define_bison_variables(]$1[)])dnl
])
# b4_percent_define_get(VARIABLE)
# -------------------------------
# Mimic muscle_percent_define_get in ../src/muscle-tab.h exactly. That is, if
# the %define variable VARIABLE is defined, emit its value. Also, record
# b4_percent_define_get(VARIABLE, [DEFAULT])
# ------------------------------------------
# Mimic muscle_percent_define_get in ../src/muscle-tab.h. That is, if
# the %define variable VARIABLE is defined, emit its value. Contrary
# to its C counterpart, return DEFAULT otherwise. Also, record
# Bison's usage of VARIABLE by defining
# b4_percent_define_bison_variables(VARIABLE).
#
@@ -575,7 +576,9 @@ m4_define([b4_percent_define_use],
# b4_percent_define_get([[foo]])
m4_define([b4_percent_define_get],
[b4_percent_define_use([$1])dnl
m4_ifdef([b4_percent_define(]$1[)], [m4_indir([b4_percent_define(]$1[)])])])
m4_ifdef([b4_percent_define(]$1[)],
[m4_indir([b4_percent_define(]$1[)])],
[$2])])
# b4_percent_define_get_loc(VARIABLE)
# -----------------------------------