[macstl-dev] Re: Question

Michael LeBlanc leblanc at skycomputers.com
Fri Jun 3 22:26:38 WST 2005

  • Previous message: [macstl-dev] Re: Question
  • Next message: [macstl-dev] macstl wrapper
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]


On Jun 2, 2005, at 12:19 PM, Glen Low wrote:

> Hmm?
>
> It seems from some third party testing (I asked someone who had 3.4  
> etc.) and from gcc's own docs, that 3.4 uses bool as Apple does, while  
> 3.3 doesn't.
>
> See http://gcc.gnu.org/onlinedocs/gcc-3.3.5/gcc/PowerPC-AltiVec- 
> Built_002din-Functions.html#PowerPC-AltiVec-Built_002din-Functions
> which says "The vector bool type is deprecated and will be  
> discontinued in further revisions. Use vector signed instead.", and  
> there's no evidence of vector bool in the function list.
>
> However by the time we have gcc 3.4:
>
> http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/PowerPC-AltiVec- 
> Built_002din-Functions.html#PowerPC-AltiVec-Built_002din-Functions
> They now talk about vector bool and the functions all have vector bool  
> overloads where appropriate.

$ ls -l `find . -name altivec.h`
-rw-r--r--  1 leblanc  staff  350297 18 May  2002  
./gcc-3.1.1/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  350297 18 May  2002  
./gcc-3.2.3/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  350305 16 Dec  2003  
./gcc-3.3.5/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  350305 16 Dec  2003  
./gcc-3.3.6/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  350378 31 Jan  2004  
./gcc-3.4.0/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  349933 30 Apr  2004  
./gcc-3.4.1/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  503575 23 Aug  2004  
./gcc-3.4.2/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  503575 23 Aug  2004  
./gcc-3.4.3/gcc/config/rs6000/altivec.h
-rw-r--r--  1 leblanc  staff  503575 23 Aug  2004  
./gcc-3.4.4/gcc/config/rs6000/altivec.h

The diffs between 3.2.3 and 3.3.6 are trivial and not interesting.
Ditto 3.3.6 to 3.4.0
Ditto 3.4.0 to 3.4.1
But in 3.4.2, Aha!  In this release the words __vector, __bool and  
__pixel appear to be wired in, and we have
	#if !defined(__APPLE_ALTIVEC__)
	/* You are allowed to undef these for C++ compatibility.  */
	#define vector __vector
	#define pixel __pixel
	#define bool __bool
	#endif
but these are NOT used in altivec.h, so the comment is accurate.

 From 3.4.* to 4.1, they revert to using "bool" and "pixel", without  
underscores.  Presumably the compiler now handles these properly in  
vector and non-vector contexts.




  • Previous message: [macstl-dev] Re: Question
  • Next message: [macstl-dev] macstl wrapper
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

More information about the macstl-dev mailing list