This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Need someone to look at a regression
- To: Jeffrey A Law <law at cygnus dot com>
- Subject: Re: Need someone to look at a regression
- From: Kamil Iskra <kamil at dwd dot interkom dot pl>
- Date: Mon, 17 Aug 1998 12:01:48 +0200 (MET DST)
- cc: egcs at cygnus dot com
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 /