On Wed, May 20, 2009 at 1:44 PM, Dag Sverre Seljebotn
<[email protected]> wrote:
> Robert Bradshaw wrote:
>> On May 20, 2009, at 5:49 AM, Dag Sverre Seljebotn wrote:
>>
>>> I did some digging and decided to share what I found, since this only
>>> occurs on a specific compiler and is thus hard to discover.
>>>
>>> Kurt, pay attention, as I just recommended that you do this :-)
>>>
>>> Apparently code like this:
>>>
>>>   (foo_struct){0, 0, NULL}
>>>
>>> is a C99 extension, so we probably shouldn't use it. Furthermore it
>>> makes things fail in g++ 4.2.4 (but not in earlier or later versions I
>>> tried -- anyway, 4.2.4 is the one currently on sage.math).
>>
>> I think it's fine in C (not sure if it's just gcc), but has issues
>> with C++. We ran into this issue before with cdef optional arguments.
>
> The link I posted lists it as a C99 extension though:
>
> """
> As an extension, GCC supports compound literals in C89 mode and in C++.
> """
>
> http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Compound-Literals.html

So was a verdict reached?  Can compound literals be used?  (They'd be
a mote easier for the coercion I'm working on in #299, but one can
always just use an inline function returning a struct.)

Kurt
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to