With a current HEAD CVS checkout: <-- snip --> ... Fixed: X11/ShellP.h Fixed: X11/Xmu.h Fixed: Xm/BaseClassI.h Fixed: Xm/Traversal.h cmp: EOF on string.h *** string.h 2005-08-15 16:47:11.000000000 +0200 --- /TMP/test/gcc/gcc/fixincludes/tests/base/string.h 2005-08-15 14:32:57.000000000 +0200 *************** *** 10,13 **** #ifndef _STRING_INCLUDED #define _STRING_INCLUDED #include <strings.h> ! #endif /* _STRING_INCLUDED */ \ No newline at end of file --- 10,13 ---- #ifndef _STRING_INCLUDED #define _STRING_INCLUDED #include <strings.h> ! #endif /* _STRING_INCLUDED */ There were fixinclude test FAILURES make[1]: *** [check] Error 1 make[1]: Leaving directory `/TMP/test/gcc/gcc/build/fixincludes' make: *** [check-fixincludes] Error 2 <-- snip -->
This works for me.
Does not work for me, checkouts from Sep. 8, and from today (Sep. 15). Exact same error when running make check, after make bootstrap. Debian stable, SMP, autogen 5.6.6-2, autoconf 2.59a-3, .../configure --prefix=/home/georg/opt/GCC/41 --disable-nls --enable-languages=c,ada,c++,fortran Anything I should look at?
Same on my AMD64/Linux box.
looking at tests/res/string.h in the build area, it does lack \n at EOF, so the message is correct. (All other files do have \n at EOF.) inclhack.def:2004 has the following comment. /* The string.h result is overwritten by AAB_ultrix_string when doing "make check" and will fail. Therefore, we add the following kludgery to insert the test_text into the special testing header. :-} */ My wild guess is that this might apply because starting on inclhack.def:548, there is the only occurence of the contents of tests/res/string.h (that I could find).
*** Bug 24870 has been marked as a duplicate of this bug. ***
Created attachment 10300 [details] Add newline to replacement fixup for string.h I wouldn't generally add a newline in the replace command but adjust the fixups which expect the newline to contain a newline in the replacement text. The following patch gcc.gfortran-pr23400-00.diff adds a newline to the string replacement which fixes the fixincludes failiure for me on i686-linux-gnu on debian unstable. gcc.gfortran-pr23400-00.diff 2005-11-20 Bernhard Fischer <rep.nop@aon.at> PR 23400 * inclhack.def: Add newline to the replace text for string.h. * fixincl.x: Regenerate.
> PR 23400 > * inclhack.def: Add newline to the replace text for string.h. > * fixincl.x: Regenerate. Similarly, removing \n from last line of the string.h in the fixincludes source directory works for me (seemingly, make check is running). (-rw-r--r-- 1 georg staff 328 2005-11-20 16:42 ../src/gcc/fixincludes/tests/base/string.h) Why is there an Ultrix fix in string.h in the first place? Does it just happen to be there because that is how fixinclude had finished writing headers at some point?
A couple of issues: 1. Replacement fixes should not be checked, so it is interesting that the failure shows up. 2. fixincl should not create files without terminating new lines anyway. I've just applied a patch to fixfixes.c to fix this problem. I'll look into the former issue when my bootstrap finishes....:) I'd assign this thing to myself, but I guess I'm not powerful enough....
Fixed by (on both the mainline and the 4.1 branch): 2005-11-24 Bruce Korb <bkorb@gnu.org> * fixincl.c(write_replacement) "here strings" in AutoGen often/generally don't have a terminating newline. Check the last byte for '\n'.
*** Bug 26646 has been marked as a duplicate of this bug. ***