This is the mail archive of the
mailing list for the GCC project.
Re: does gcc support multiple sizes, or not?
- From: Eric Christopher <echristo at apple dot com>
- To: DJ Delorie <dj at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 06 Aug 2006 14:55:37 -0700
- Subject: Re: does gcc support multiple sizes, or not?
- References: <200608050117.k751HsCM031429@greed.delorie.com>
However, in s390.c, we have:
s390_valid_pointer_mode (enum machine_mode mode)
return (mode == SImode || (TARGET_64BIT && mode == DImode));
Note that more than one mode is supported simultaneously. Thus, it's
legal for the application to specify SI or DI mode for pointer (via
__attribute__((mode))), but cc1plus then aborts.
So... who is right? Are we supposed to support multiple pointer sizes
in the same compilation unit, or not?
Hmm... this worked when I put this in for s390 at one point - for
exactly the reason that you have with the attribute.