------- Additional Comments From schlie at comcast dot net  2005-02-16 15:56 
-------
Subject: Re:  [4.0 Regression] build broken on
 several targets due to recent 'DC' type update to libgcc2

>> Like ...?
> 
> Here's one (target: h8300-rtems4.7):
> ../../../../../../gcc-4.0.0/newlib/libm/math/ef_remainder.c:49: warning: left
> shift count >= width of type
> 
> There are dozens of similar warnings in my build-log.
> Having a look into newlib shows all of these warnings to be related to
> sizeof(int) vs. sizeof(long) vs. sizeof(void*), not to float/double.
> I know newlib, is partially broken, in assuming
> sizeof(int)==sizeof(long)==sizeof(void*)==32bit, but ...
> 
> ... I have several local patches to newlib applied, which are supposed to fix
> them. So, unless something has changed these sizes, I probably didn't work
> carefully enough.

Although there may be remaining problems in libgcc2; it would seem
prudent for newlib (and possibly even libgcc2 as may be required) to
be more explicit, i.e. use int16, int32, etc. vs. short, int, long; or
conditionally declare types based on sizeof(), when a type needs to be
a certain or relative size for the code to work as intended.

(not great, but good to know it doesn't seem to be a libgcc2 problem)




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19920

Reply via email to