bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] fix testsuite under latest autoconf.git


From: Eric Blake
Subject: [PATCH] fix testsuite under latest autoconf.git
Date: Tue, 2 Dec 2008 18:05:00 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

The latest autoconf.git reimplemented m4_expand to handle single-quoted 
unbalanced ')', then uses m4_expand in more places (such as AT_CHECK).  
However, bison's testsuite hack to replace the broken autoconf 2.62 definition 
of m4_expand interferes, and things fall apart since bison calls AT_CHECK with 
single-quoted ')' which the replacement can't handle.  As a result, the 
testsuite fails to build without this patch.

Okay to apply?  This patch should have no impact to building the testsuite with 
autoconf 2.62 (the broken m4_expand is still replaced by one that works with 
the rest of 2.62), or with 2.61 (which didn't use m4_expand); and by 
conditionalizing the need for a replacement m4_expand, it should have no impact 
to 2.63 and makes 2.64+ usable.

From: Eric Blake <address@hidden>
Date: Tue, 2 Dec 2008 10:59:17 -0700
Subject: [PATCH] Build testsuite with newer autoconf.

* tests/output.at (m4_expand): Don't override in newer autoconf,
where the underlying implementation changed.
* tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT)
(_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT)
(_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR)
(_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings,
since some of them contain unbalanced ')'.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog         |   23 +++++++++++++++++------
 tests/cxx-type.at |   28 ++++++++++++++--------------
 tests/output.at   |    5 +++--
 3 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3b92595..c353051 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-12-02  Eric Blake  <address@hidden>
+
+       Build testsuite with newer autoconf.
+       * tests/output.at (m4_expand): Don't override in newer autoconf,
+       where the underlying implementation changed.
+       * tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT)
+       (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT)
+       (_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR)
+       (_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings,
+       since some of them contain unbalanced ')'.
+
 2008-12-01  Akim Demaille  <address@hidden>
 
        Use b4_symbol for printers and destructors everywhere.
diff --git a/tests/cxx-type.at b/tests/cxx-type.at
index 0725bfc..923dc23 100644
--- a/tests/cxx-type.at
+++ b/tests/cxx-type.at
@@ -1,6 +1,6 @@
 # Checking GLR Parsing.                         -*- Autotest -*-
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation,
-# Inc.
+# Copyright (C) 2002, 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
@@ -351,7 +351,7 @@ AT_BISON_OPTION_POPDEFS
 ])
 
 m4_define([_AT_RESOLVED_GLR_OUTPUT],
-[[+(z,q)
+[[[+(z,q)
 <declare>(T,x)
 <init-declare>(T,x,y)
 =(x,y)
@@ -360,10 +360,10 @@ m4_define([_AT_RESOLVED_GLR_OUTPUT],
 <init-declare>(T,y,+(z,q))
 <error>
 +(z,q)
-]])
+]]])
 
 m4_define([_AT_RESOLVED_GLR_OUTPUT_WITH_LOC],
-[[3.0-3.5: +(z,q)
+[[[3.0-3.5: +(z,q)
 5.0-5.3: <declare>(T,x)
 7.0-7.7: <init-declare>(T,x,y)
 9.0-9.5: =(x,y)
@@ -372,10 +372,10 @@ m4_define([_AT_RESOLVED_GLR_OUTPUT_WITH_LOC],
 15.0-15.13: <init-declare>(T,y,+(z,q))
 17.0-17.15: <error>
 19.0-19.5: +(z,q)
-]])
+]]])
 
 m4_define([_AT_AMBIG_GLR_OUTPUT],
-[[+(z,q)
+[[[+(z,q)
 <declare>(T,x)
 <init-declare>(T,x,y)
 =(x,y)
@@ -384,10 +384,10 @@ m4_define([_AT_AMBIG_GLR_OUTPUT],
 <OR>(<init-declare>(T,y,+(z,q)),=(<cast>(y,T),+(z,q)))
 <error>
 +(z,q)
-]])
+]]])
 
 m4_define([_AT_AMBIG_GLR_OUTPUT_WITH_LOC],
-[[3.0-3.5: +(z,q)
+[[[3.0-3.5: +(z,q)
 5.0-5.3: <declare>(T,x)
 7.0-7.7: <init-declare>(T,x,y)
 9.0-9.5: =(x,y)
@@ -396,15 +396,15 @@ m4_define([_AT_AMBIG_GLR_OUTPUT_WITH_LOC],
 15.0-15.13: <OR>(<init-declare>(T,y,+(z,q)),=(<cast>(y,T),+(z,q)))
 17.0-17.15: <error>
 19.0-19.5: +(z,q)
-]])
+]]])
 
 m4_define([_AT_GLR_STDERR],
-[[syntax error
-]])
+[[[syntax error
+]]])
 
 m4_define([_AT_VERBOSE_GLR_STDERR],
-[[syntax error, unexpected ID, expecting '=' or '+' or ')'
-]])
+[[[syntax error, unexpected ID, expecting '=' or '+' or ')'
+]]])
 
 ## ---------------------------------------------------- ##
 ## Compile the grammar described in the documentation.  ##
diff --git a/tests/output.at b/tests/output.at
index a62d77a..fe5708c 100644
--- a/tests/output.at
+++ b/tests/output.at
@@ -208,9 +208,10 @@ AT_CLEANUP
 AT_CHECK_OUTPUT_FILE_NAME(address@hidden&*()-=_+{}[]|\:;<>, .']])
 dnl Work around a bug in m4_expand that broke AT_SETUP in autoconf 2.62,
 dnl by using the definition from 2.63.
-m4_define([m4_expand], [_$0(-=<{($1)}>=-)])
+m4_version_prereq([2.63], [],
+[m4_define([m4_expand], [_$0(-=<{($1)}>=-)])
 m4_define([_m4_expand],
-[m4_changequote([-=<{(], [)}>=-])$1m4_changequote([, ])])
+[m4_changequote([-=<{(], [)}>=-])$1m4_changequote([, ])])])
 AT_CHECK_OUTPUT_FILE_NAME([[(]])
 AT_CHECK_OUTPUT_FILE_NAME([[)]])
 AT_CHECK_OUTPUT_FILE_NAME([[#]])
-- 
1.6.0.4







reply via email to

[Prev in Thread] Current Thread [Next in Thread]