Commit 8eeda2ec by Jason Merrill

lex.c (real_yylex): Refer to __complex instead of complex.

	* lex.c (real_yylex): Refer to __complex instead of complex.

-Wed Jul 16 15:57:42 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
-
-       * parse.y (empty_parms): Only use VOID_LIST_NODE for the PARMS if
-       we're in a C++ struct/class, not if we're doing xtern "C"'.
-

and regenerate parse.c.

From-SVN: r14885
parent b4f32d7b
Thu Aug 21 18:48:44 1997 Jason Merrill <jason@yorick.cygnus.com>
* lex.c (real_yylex): Refer to __complex instead of complex.
Thu Aug 21 22:25:46 1997 J"orn Rennecke <amylaar@cygnus.co.uk> Thu Aug 21 22:25:46 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* lex.c (real_yylex): Don't use getc directly. * lex.c (real_yylex): Don't use getc directly.
...@@ -200,11 +204,6 @@ Wed Jul 16 23:47:08 1997 Jason Merrill <jason@yorick.cygnus.com> ...@@ -200,11 +204,6 @@ Wed Jul 16 23:47:08 1997 Jason Merrill <jason@yorick.cygnus.com>
* lex.c (do_scoped_id): convert_from_reference. * lex.c (do_scoped_id): convert_from_reference.
* init.c (build_offset_ref): Likewise. * init.c (build_offset_ref): Likewise.
Wed Jul 16 15:57:42 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
* parse.y (empty_parms): Only use VOID_LIST_NODE for the PARMS if
we're in a C++ struct/class, not if we're doing `extern "C"'.
Wed Jul 16 12:34:29 1997 Benjamin Kosnik <bkoz@lisa.cygnus.com> Wed Jul 16 12:34:29 1997 Benjamin Kosnik <bkoz@lisa.cygnus.com>
* error.c (dump_expr): Check TREE_OPERAND before dump_expr_list. * error.c (dump_expr): Check TREE_OPERAND before dump_expr_list.
...@@ -526,8 +525,7 @@ Tue May 20 13:55:57 1997 Brendan Kehoe <brendan@lisa.cygnus.com> ...@@ -526,8 +525,7 @@ Tue May 20 13:55:57 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
* hash.h: Regenerate. * hash.h: Regenerate.
* lex.h (rid): Add RID_COMPLEX. * lex.h (rid): Add RID_COMPLEX.
(RID_LAST_MODIFIER): Set to RID_COMPLEX. (RID_LAST_MODIFIER): Set to RID_COMPLEX.
* lex.c (init_lex): Add building of RID_COMPLEX. Unset reserved * lex.c (init_lex): Add building of RID_COMPLEX.
word "complex" if -fno-gnu-keywords.
(real_yylex): General cleanup in line with what c-lex.c also has, (real_yylex): General cleanup in line with what c-lex.c also has,
sans the cruft for traditional; add handling of SPEC_IMAG, complex sans the cruft for traditional; add handling of SPEC_IMAG, complex
types, and imaginary numeric constants. types, and imaginary numeric constants.
......
...@@ -7,8 +7,20 @@ ...@@ -7,8 +7,20 @@
for more information. for more information.
* New flags -Wsign-promo, -Wno-pmf-conversion.
* local static variables in extern inline functions will be shared between
translation units.
* Standard usage syntax for the std namespace is supported; std is treated
as an alias for global scope. General namespaces are still not supported.
* -fvtable-thunks is supported for all targets, and is the default for
Linux with glibc (libc 6 on x86).
* Default function arguments in templates will not be evaluated (or * Default function arguments in templates will not be evaluated (or
checked for semantic validity) unless they are needed. checked for semantic validity) unless they are needed. Default arguments
in class bodies will not be parsed until the class definition is complete.
* The -ftemplate-depth-NN flag can be used to increase the maximum * The -ftemplate-depth-NN flag can be used to increase the maximum
recursive template instantiation depth, defaulting to 17. If you need recursive template instantiation depth, defaulting to 17. If you need
......
...@@ -663,7 +663,7 @@ init_lex () ...@@ -663,7 +663,7 @@ init_lex ()
ridpointers[(int) RID_REGISTER] = get_identifier ("register"); ridpointers[(int) RID_REGISTER] = get_identifier ("register");
SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_REGISTER], SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_REGISTER],
build_tree_list (NULL_TREE, ridpointers[(int) RID_REGISTER])); build_tree_list (NULL_TREE, ridpointers[(int) RID_REGISTER]));
ridpointers[(int) RID_COMPLEX] = get_identifier ("complex"); ridpointers[(int) RID_COMPLEX] = get_identifier ("__complex");
SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_COMPLEX], SET_IDENTIFIER_AS_LIST (ridpointers[(int) RID_COMPLEX],
build_tree_list (NULL_TREE, ridpointers[(int) RID_COMPLEX])); build_tree_list (NULL_TREE, ridpointers[(int) RID_COMPLEX]));
...@@ -833,8 +833,6 @@ init_lex () ...@@ -833,8 +833,6 @@ init_lex ()
UNSET_RESERVED_WORD ("signature"); UNSET_RESERVED_WORD ("signature");
UNSET_RESERVED_WORD ("sigof"); UNSET_RESERVED_WORD ("sigof");
} }
if (flag_no_gnu_keywords)
UNSET_RESERVED_WORD ("complex");
if (flag_no_asm || flag_no_gnu_keywords) if (flag_no_asm || flag_no_gnu_keywords)
UNSET_RESERVED_WORD ("typeof"); UNSET_RESERVED_WORD ("typeof");
if (! flag_operator_names) if (! flag_operator_names)
...@@ -3843,7 +3841,7 @@ real_yylex () ...@@ -3843,7 +3841,7 @@ real_yylex ()
cp_convert (integer_type_node, cp_convert (integer_type_node,
yylval.ttype)); yylval.ttype));
else else
error ("complex integer constant is too wide for `complex int'"); error ("complex integer constant is too wide for `__complex int'");
} }
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -88,10 +88,7 @@ empty_parms () ...@@ -88,10 +88,7 @@ empty_parms ()
tree parms; tree parms;
if (strict_prototype if (strict_prototype
/* Only go ahead with using the void list node if we're actually || current_class_type != NULL)
parsing a class in C++, not a struct in extern "C" mode. */
|| (current_class_type != NULL
&& current_lang_name == lang_name_cplusplus))
parms = void_list_node; parms = void_list_node;
else else
parms = NULL_TREE; parms = NULL_TREE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment