This is the mail archive of the gcc-bugs@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: c/8290: [3.2/3.3 regression] Initialization with compound literalsduring declaration fails with gcc 3.2


On 2 Dec 2002 bangerth@dealii.org wrote:

>     Confirmed. Assuming the code is legal, it is a regression
>     from 3.0, which compiled it fine. A simpler code is this:

This is deliberate, and the subject of previous mistaken PRs.  Compound
literals are, in C99, unnamed variables, not constant expressions that can
be used in initializers, and allowing them in initializers is not
consistent with the C language and this C99 concept.  There is a special
allowance for the old GNU "constructor expressions", which used the same
syntax but had different semantics in this area, in gnu89 mode, but not
gnu99.

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


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