From: Ralf Wildenhues Date: Tue, 17 Jun 2008 06:42:14 +0000 (+0200) Subject: Fix '#undef variable /* comment */' transform in config headers. X-Git-Tag: v2.63~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c87512b5ae11de7a98ccc8c3e42d5df6f5039fe0;p=thirdparty%2Fautoconf.git Fix '#undef variable /* comment */' transform in config headers. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): For undefined preprocessor macros that are followed by a comment in the header template, do not create nested comments in the output. * tests/torture.at (@%:@define header templates): Extend test. * NEWS: Update. Report by Karsten Hopp . Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 906ed7172..a48f5c779 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-06-17 Ralf Wildenhues + + Fix '#undef variable /* comment */' transform in config headers. + * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): For + undefined preprocessor macros that are followed by a comment + in the header template, do not create nested comments in the + output. + * tests/torture.at (@%:@define header templates): Extend test. + * NEWS: Update. + Report by Karsten Hopp . + 2008-06-09 Eric Blake Mark AC_TYPE_SIGNAL as obsolete. diff --git a/NEWS b/NEWS index 945c99471..06b705f7d 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,9 @@ GNU Autoconf NEWS - User visible changes. AT_KEYWORDS([m4_if([$1], [], [default])]) no longer complains about the possibly unexpanded m4_if [regression introduced in 2.62]. +** Config header templates `#undef UNDEFINED /* comment */' do not lead to + nested comments any more; regression introduced in 2.62. + * Major changes in Autoconf 2.62 (2008-04-05) [stable] Released by Eric Blake, based on git versions 2.61a.*. diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4 index 50be77b61..d5ed32395 100644 --- a/lib/autoconf/status.m4 +++ b/lib/autoconf/status.m4 @@ -832,9 +832,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 } split(mac1, mac2, "(") #) macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". - prefix = substr(line, 1, index(line, defundef) - 1) print prefix "define", macro P[macro] D[macro] next } else { @@ -842,7 +842,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { - print "/*", line, "*/" + print "/*", prefix defundef, macro, "*/" next } } diff --git a/tests/torture.at b/tests/torture.at index c37dabae0..92f8d5b75 100644 --- a/tests/torture.at +++ b/tests/torture.at @@ -497,6 +497,8 @@ AT_DATA([config.hin], #define str(define) \ #define #define stringify(arg) str(arg) +#undef aaa /* with comments */ +#undef not_substed /* with comments */ ]]) AT_CHECK_AUTOCONF @@ -527,6 +529,8 @@ ARG1 #define str(define) \ #define #define stringify(arg) str(arg) +#define aaa AAA +/* #undef not_substed */ ]]) AT_CHECK([cat config.h], 0, expout)