This is the mail archive of the gcc@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: Need someone to look at a regression


On Sat, 15 Aug 1998, Jeffrey A Law wrote:

> My simplistic viewpoint is 
> 
> typedef int SFtype __attribute__ ((mode (SF)));
> 
> 
> Is bogus -- the type is actually specified by the attribute and the
> "int" is neither used nor wanted.

Definitely "int" and "__attribute__ ((mode (SF)))" on the same typedef
clash.

However, "float" and "__attribute__ ((mode (SF)))" certainly do not.

IMHO, saying that:

typedef SFtype __attribute__ ((mode (SF)));

gives all the type information it needs is wrong. Sure, in case of
floating type there is no much else you can do with it apart from storing 
a floating pointer number, but compare it with:

typedef SItype __attribute__ ((mode (SI)));

Now, what do I want? An integer? A pointer? Or perhaps a 4-byte
structure? GCC will use SImode for all of them on my machine.

Modes provide only a subset of information than types do. Just compare the
mode-based alias analysis vs. the type-based one.

Therefore, I think that GCC should warn when the mode has been specified,
but the type has not. Such a new type is simply incomplete.

/ Kamil Iskra    AmigaOS  Linux/i386  Linux/m68k               \
| GeekGadgets GCC maintainer   UNIX system administrator       |
| iskra@student.uci.agh.edu.pl  kiskra@ernie.icslab.agh.edu.pl |
\ kamil@dwd.interkom.pl   http://student.uci.agh.edu.pl/~iskra /



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