libg++-2.8.1-980207 and egcs-2.91.08 980214
Jason Merrill
jason@cygnus.com
Thu Feb 19 10:55:00 GMT 1998
>>>>> Alexandre Oliva <oliva@dcc.unicamp.br> writes:
> In fact, the problem is the way HUGE_VAL is defined: it depends on
> named initializers, which eg++ no longer supports (the original
> support was broken).
I've reenabled them in the parser, with a sorry if they would actually make
a difference. In HUGE_VAL, it doesn't.
> Perhaps this is a job for fixincludes... Unless we get named
> initializers support fixed and back.
A volunteer to port the C frontend's initializer parsing to the C++
frontend would be welcome. rms rewrote the C code back in 1993, but the
changes never made it to C++:
Thu Jul 22 14:59:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* c-typeck.c: Output most constructors an element at a time.
(digest_init): Deleted code for raw constructors.
(process_init_constructor): Function deleted.
(start_init, finish_init): New functions.
(really_start_incremental_init)
(push_init_level, check_init_type_bitfields, pop_init_level)
(set_init_index, set_init_label, process_init_element)
(output_init_element, output_pending_init_elements): New functions.
* c-tree.h: Declare most of those functions.
* c-parse.in (cast_expr): Use new initializer parsing functions.
(initdcl, notype_initdcl): Likewise.
(init): Likewise.
(initlist_maybe_comma, initlist1): These replace initlist.
(initelt): New nonterminal.
Change specified index syntax to `[INDEX]='.
Change specified field syntax to `.NAME='.
Jason
More information about the Gcc-bugs
mailing list