c/9469: [3.2/3.3/3.4 regression] initializer element is (allegedly) not constant

Joseph S. Myers jsm28@cam.ac.uk
Tue Jan 28 11:36:00 GMT 2003


On 27 Jan 2003 bangerth@dealii.org wrote:

>     Confirmed. This used to compile until 3.0, but fails with
>     3.2, 3.3, 3.4. I must admit that I don't know exactly
>     whether this is legal code, but it looks like, and in this
>     case it is a regression

It has never been valid C to use an expression of aggregate type as part
of an initializer, only as a the whole initializer, though the broken old
implementation of compound literals may have allowed this.  I'll leave it
up to Jakub to decide whether it makes any sense to allow this as another
compatibility case of compound literals in gnu89 mode.

-- 
Joseph S. Myers
jsm28@cam.ac.uk



More information about the Gcc-bugs mailing list