Patchwork Remove unnecessaily included limits.h in libgcc2.c

login
register
mail settings
Submitter Wookey
Date Jan. 4, 2013, 7:01 p.m.
Message ID <20130104190058.GP9131@stoneboat.aleph1.co.uk>
Download mbox | patch
Permalink /patch/209520/
State New
Headers show

Comments

Wookey - Jan. 4, 2013, 7:01 p.m.
I filed http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55743 (my first
upstream gcc bug so be gentle :-)

Details are there but the short version is that the limits.h inclusion
in libgcc2.c is now a relic because the constants that it brings
in are no longer used (since
http://repo.or.cz/w/official-gcc.git/blobdiff/49f0f270673c4512c11f72a038b84c321ae5534a..7429c938827aa98bf3b02c4ac89510f4d28ef0b1:/gcc/libgcc2.c
)

And this inclusion can break --without-headers bootstrapping (which is
how I noticed it).

Doko poked me to send the patch to this list for consideration for
inclusion in trunk.



Wookey
Matthias Klose - Jan. 14, 2013, 9:54 p.m.
Am 04.01.2013 20:01, schrieb Wookey:
> I filed http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55743 (my first
> upstream gcc bug so be gentle :-)
> 
> Details are there but the short version is that the limits.h inclusion
> in libgcc2.c is now a relic because the constants that it brings
> in are no longer used (since
> http://repo.or.cz/w/official-gcc.git/blobdiff/49f0f270673c4512c11f72a038b84c321ae5534a..7429c938827aa98bf3b02c4ac89510f4d28ef0b1:/gcc/libgcc2.c
> )
> 
> And this inclusion can break --without-headers bootstrapping (which is
> how I noticed it).
> 
> Doko poked me to send the patch to this list for consideration for
> inclusion in trunk.

The --without-headers build failures is unrelated.  To catch this
mis-configuration I did propose a patch in
http://gcc.gnu.org/ml/gcc-patches/2013-01/msg00743.html

I think the patch itself is correct.  However

 - please submit your patch against trunk, and state that you
   did test the patch against trunk (of course, after testing it)

 - please provide a ChangeLog entry

 - thanks for your reference to the repo.or.cz repo, however it
   would be good to reference a GCC commit.
   looks like Alexandre Oliva did commit this without removing
   the unneeded bits in r39365.

  Matthias

Patch

--- gcc-4.7-4.7.2/src/libgcc/libgcc2.c.orig	2011-11-02 15:26:35.000000000 +0000
+++ gcc-4.7-4.7.2/src/libgcc/libgcc2.c	2012-12-18 19:33:40.000000000 +0000
@@ -1676,18 +1676,6 @@ 
 #endif
 
 #if defined(L_fixunsxfsi) && LIBGCC2_HAS_XF_MODE
-/* Reenable the normal types, in case limits.h needs them.  */
-#undef char
-#undef short
-#undef int
-#undef long
-#undef unsigned
-#undef float
-#undef double
-#undef MIN
-#undef MAX
-#include <limits.h>
-
 UWtype
 __fixunsxfSI (XFtype a)
 {
@@ -1698,18 +1686,6 @@ 
 #endif
 
 #if defined(L_fixunsdfsi) && LIBGCC2_HAS_DF_MODE
-/* Reenable the normal types, in case limits.h needs them.  */
-#undef char
-#undef short
-#undef int
-#undef long
-#undef unsigned
-#undef float
-#undef double
-#undef MIN
-#undef MAX
-#include <limits.h>
-
 UWtype
 __fixunsdfSI (DFtype a)
 {
@@ -1720,18 +1696,6 @@ 
 #endif
 
 #if defined(L_fixunssfsi) && LIBGCC2_HAS_SF_MODE
-/* Reenable the normal types, in case limits.h needs them.  */
-#undef char
-#undef short
-#undef int
-#undef long
-#undef unsigned
-#undef float
-#undef double
-#undef MIN
-#undef MAX
-#include <limits.h>
-
 UWtype
 __fixunssfSI (SFtype a)
 {