[preliminary patch] Fix libgcc2

Kazu Hirata kazu@hxi.com
Tue Oct 24 16:24:00 GMT 2000


Hi Alexandra,

> > +#if LONG_LONG_TYPE_SIZE > 32
> 
> LONG_LONG_TYPE_SIZE doesn't have to be a preprocessor constant.

Well, I already see the same around line 93 in libgcc2.h.  Would this be
sort of a bug?  It is used as follows.

#if LONG_LONG_TYPE_SIZE > 32
/* These typedefs are usually forbidden on archs with UNITS_PER_WORD 2 */
typedef		 int DItype	__attribute__ ((mode (DI)));
typedef unsigned int UDItype	__attribute__ ((mode (DI)));
#if MIN_UNITS_PER_WORD > 4
/* These typedefs are usually forbidden on archs with UNITS_PER_WORD 4 */
typedef		 int TItype	__attribute__ ((mode (TI)));
typedef unsigned int UTItype	__attribute__ ((mode (TI)));
#endif
#endif

What would be a good way to prevent gcc from generating DI stuff for targets
that do not support them?

Thanks,

Kazu Hirata


More information about the Gcc-patches mailing list