What is the value of TARGET_C99_FUNCTIONS on Darwin?

Dominique Dhumieres dominiq@lps.ens.fr
Sat Mar 17 22:22:00 GMT 2007


Mike,

Thanks for the answer, but I understand very little of it.

> The above can be read as:
> 
> If TARGET_64BIT is true, then TARGET_C99_FUNCTIONS is true,
> otherwise if we're targeting 10.3 or later, then TARGET_C99_FUNCTIONS  
> is true, otherwise, TARGET_C99_FUNCTIONS is false.

So far so good.

we are targeting means that flag:

> -mmacosx-version-min=version
>     The earliest version of MacOS X that this executable will  
>     run on is version.  
>     Typical values of version include 10.1, 10.2, and 10.3.9.
> 
>     The default for this option is to make choices that seem  
>     to be most useful.

Is this under the user control and how?

> though, the exact default for this flag is changing (has change, is  
> going to change).

I noticed that!

> For example, if you tell it, 

How could I? I would be interested by 10.3.9 (possibly 10.4.9).

> you are going to generate code for 10.1, then, TARGET_C99_FUNCTIONS is false.
> 
> We used to default to 10.1, in later versions, we default it this way:
> 
> #define DARWIN_MINVERSION_SPEC                                  \
>    "%{m64:%{fgnu-runtime:10.4;                                   \
> 	    ,objective-c|,objc-cpp-output:10.5;                  \
> 	    ,objective-c++|,objective-c++-cpp-output:10.5;       \
> 	    :10.4};                                              \
>       shared-libgcc:10.3;                                        \
>       :10.1}"
> 
> for ppc, and x86 defaults it this way:
> 
> /* Determine a minimum version based on compiler options.  */
> #define DARWIN_MINVERSION_SPEC                          \
> "%{!m64|fgnu-runtime:10.4;                             \
>      ,objective-c|,objc-cpp-output:10.5;                 \
>      ,objective-c++|,objective-c++-cpp-output:10.5;      \
>      :10.4}"

This is a part I cannot decipher. 

Dominique



More information about the Gcc mailing list