This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/52168] fixinclude test failure for complex.h on netbsd
- From: "redi at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 09 Feb 2012 12:19:38 +0000
- Subject: [Bug other/52168] fixinclude test failure for complex.h on netbsd
- Auto-submitted: auto-generated
- References: <bug-52168-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52168
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-02-09 12:19:38 UTC ---
NetBSD PR http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45955
My analysis of the problem was incorrect and it looks as though a fix would be
to put an *unescaped* \n at the end of each -e script:
/*
* Fix Command Arguments for Solaris_Complex_Cxx
*/
static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
"-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
#ifdef\t__cplusplus\\\n\
extern \"C\" {\\\n\
-#endif",
+#endif\n",
"-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
#ifdef\t__cplusplus\\\n\
}\\\n\
-#endif",
+#endif\n",
(char*)NULL };
POSIX requires that a newline in the replacement text be escaped with \ so an
unescaped newline is not part of the replacement text. GNU and Solaris both
correctly ignore an unescaped newline at the end of the script, apparently
netbsd does too (but I can't test that until later today)