This is the mail archive of the 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]
Other format: [Raw text]

Re: [PATCH] Don't #error if including <altivec.h> without -maltivec

On 23 Mar, 2004, at 22.38, Segher Boessenkool wrote:

Your patch does not work with C++:

./altivec.h:101: error: expected init-declarator before "float"
./altivec.h:101: error: expected `,' or `;' before "float"
./altivec.h:102: error: expected init-declarator before "float"
./altivec.h:102: error: expected `,' or `;' before "float"

Ah. Right. I never use C++, so I forgot the header file is used there as well. I'll create a new patch, if wanted.

And it only "works" with C because stuff there is implemented via macros. :-)

Yes. Much nicer (or not) ;-)

-maltivec just means "generate AltiVec instructions", so there
are some good uses for including the header file, but compiling
with -mno-altivec.  A (more accurate) warning is fine though.

Must admit I don't follow you here. What use do you get out of <altivec.h>
(even if it does compile) if AltiVec is not enabled?

Declarations. It's a good way to make sure that, although some source code uses some AltiVec data types and/or PIM functions, the generated object code will not contain any AltiVec instructions.

But "-maltivec" not only enables AltiVec instructions, but also the various
AltiVec _types_, and I _really_ don't think we want to be synthesizing these
types unconditionally. :-)

I actually have some code like that, and it breaks with TOT compiler.

If you want to use "generic" GCC vectors, then you should probably
use generic syntax for them as well (i.e., __attribute__(size_type(...)))
or whatever it is this week).

Ziemowit Laski                 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group        Cupertino, CA USA  95014-2083
Apple Computer, Inc.           +1.408.974.6229  Fax .5477

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