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

Re: is this legal C?


Sam Steingold <sds@gnu.org> writes:

> suppose BAR is defined and QWE is not.
> does the following do what I expect it to:
> 
>  struct { char* name; } foo [] = {
>   { "ABC"
>   #if defined(BAR)
>    "ZZZ"
>   #endif
>   },{
>   #if defined(QWE)
>    "ZOO"
>    #endif
>   "XYZ"
>  }}
> 
> i.e., create an array of length 2 with elements named "ABCZZZ" and
> "XYZ"? (it does, with GCC)
> is this portable?
> is this legal ANSI C?

I think so, but I don't have a copy of the C90 or C99 standard. 


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