This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: rs6000_{init,free}_machine_status missing prototypes


On Wed, 17 Jan 2001, Kaveh R. Ghazi wrote:

>  >   rs6000.c:3904: warning: integer constant is unsigned in ANSI C,
>  >   signed with -traditional
>
> You're probably looking at stage1 warnings from 2.95.2.  Try looking
> at stage3 instead.  GCC 3.0 doesn't warn about these unless the base
> of the constant is 10.

I've asked before, without I think a response: what is the appropriate
handling of this warning when C99 integer constant type rules are
implemented, and C99 mode is default?  It would be possible to compute all
three types and compare the traditional type with the C89 one, but the
warning "unsigned in ISO C" would not apply with C99 (where non-U-suffixed
decimal constants cannot be unsigned, but can be long long).  A warning
"integer constant is signed in ISO C99, unsigned in ISO C89, signed with
-traditional", though an accurate description of the portability issue,
seems rather cumbersome.

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]