From: Akim Demaille Date: Wed, 21 Jan 2015 17:34:01 +0000 (+0100) Subject: tests: c++: fix a C++03 conformance issue X-Git-Tag: v3.0.4~3 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/658b189348746aa79fba777f021bd7dc13eeabd7 tests: c++: fix a C++03 conformance issue This fixes test 241 on xLC: "input.y", line 42.11: 1540-0274 (S) The name lookup for "report" did not find a declaration. "input.y", line 42.11: 1540-1292 (I) Static declarations are not considered for a function call if the function is not qualified. where report is: static void report (std::ostream& yyo, int ival, float fval) { yyo << "ival: " << ival << ", fval: " << fval; } and line 42 is: %printer { report (yyo, $$, $$); } ; It turns out that indeed this function must not be declared static, . Let's put it into an anonymous namespace. Reported by Thomas Jahns. http://lists.gnu.org/archive/html/bug-bison/2015-01/msg00059.html * tests/actions.at (Qualified $$ in actions): Don't use "static", prefer anonymous namespace. --- diff --git a/NEWS b/NEWS index 2e38038e..3bd5d10a 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,10 @@ GNU Bison NEWS Fix a compiler warning when no %destructor use $$. +*** Test suites + + Several portability issues in tests were fixed. + * Noteworthy changes in release 3.0.3 (2015-01-15) [stable] ** Bug fixes diff --git a/tests/actions.at b/tests/actions.at index 7220b715..2671ca54 100644 --- a/tests/actions.at +++ b/tests/actions.at @@ -1530,10 +1530,13 @@ AT_DATA_GRAMMAR([[input.y]], ]AT_SKEL_CC_IF([[ # include - static void - report (std::ostream& yyo, int ival, float fval) + namespace { - yyo << "ival: " << ival << ", fval: " << fval; + void + report (std::ostream& yyo, int ival, float fval) + { + yyo << "ival: " << ival << ", fval: " << fval; + } } ]], [[ # include