Subject: Re: ARM: The switch to ELF. Are we ready yet?
To: None <thorpej@wasabisystems.com>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm
Date: 03/19/2002 10:04:08
> >  >   Enumerations are now properly promoted to int in function parameters 
> >  >   and function returns. Normally this change is not visible, but when 
> >  >   using -fshort-enums this is an ABI change. 
> >  > 
> >  > I'm not sure what, if any, impact this might have on ARM code (which 
> >  > normally promotes small objects to int anyway), but I'd be nervous about 
> >  > using gcc-2.95 if this might cause an incompatible change (unless we can 
> >  > identify the change and incorporate it).
> > 
> > Yuck, we should definitely fix this.
>
> Well, first we must establish that there is a problem; but the real 
> difficulty might be determining which bit of the compiler has actually 
> changed.  Several parts of the gcc were extensively rewritten for gcc-3.

Hmm, I've found the following ChangeLog entry, which looks suspiciously 
like the situation described in the release note.  If this is all that is 
involved it may not be too hard to pull this back into 2.95

I'll try and find out more.

R.


2001-04-30  Richard Henderson  <rth@redhat.com>

        * c-common.c (c_promoting_integer_type_p): New function, from the
        corpse of old macro.  Properly promote too-small enumerations and
        booleans.  Adjust all callers.
        * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
        (c_promoting_integer_type_p): Declare.
        * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
        * c-typeck.c: Likewise.
        (default_conversion): Remove now redundant boolean check.