Commit acf82af2 by Jason Merrill

typeck2.c (my_friendly_abort): Add URL.

	* typeck2.c (my_friendly_abort): Add URL.
	* decl.c (start_method): Added extra parameter for attributes.
	* cp-tree.h (start_method): Update prototype.
	* parse.y (fn.def2): Update start_method parameter list.

From-SVN: r23003
parent bfbd500a
1998-10-12 Jason Merrill <jason@yorick.cygnus.com>
* typeck2.c (my_friendly_abort): Add URL.
1998-10-12 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
* decl.c (start_method): Added extra parameter for attributes.
* cp-tree.h (start_method): Update prototype.
* parse.y (fn.def2): Update start_method parameter list.
1998-10-10 Manfred Hollstein <manfred@s-direktnet.de>
* decl2.c (start_objects): Add new variable `joiner' and
......
......@@ -2586,7 +2586,7 @@ extern void expand_start_early_try_stmts PROTO((void));
extern void store_parm_decls PROTO((void));
extern void store_return_init PROTO((tree, tree));
extern void finish_function PROTO((int, int, int));
extern tree start_method PROTO((tree, tree));
extern tree start_method PROTO((tree, tree, tree));
extern tree finish_method PROTO((tree));
extern void hack_incomplete_structures PROTO((tree));
extern tree maybe_build_cleanup_and_delete PROTO((tree));
......
......@@ -13417,11 +13417,11 @@ finish_function (lineno, call_poplevel, nested)
CHANGES TO CODE IN `grokfield'. */
tree
start_method (declspecs, declarator)
tree declarator, declspecs;
start_method (declspecs, declarator, attrlist)
tree declarator, declspecs, attrlist;
{
tree fndecl = grokdeclarator (declarator, declspecs, MEMFUNCDEF, 0,
NULL_TREE);
attrlist);
/* Something too ugly to handle. */
if (fndecl == NULL_TREE)
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -709,8 +709,10 @@ component_constructor_declarator:
reduce/reduce conflict introduced by these rules. */
fn.def2:
declmods component_constructor_declarator
{ tree specs = strip_attrs ($1);
$$ = start_method (specs, $2);
{ tree specs, attrs;
split_specs_attrs ($1, &specs, &attrs);
attrs = build_tree_list (attrs, NULL_TREE);
$$ = start_method (specs, $2, attrs);
rest_of_mdef:
if (! $$)
YYERROR1;
......@@ -718,20 +720,26 @@ fn.def2:
yychar = YYLEX;
reinit_parse_for_method (yychar, $$); }
| component_constructor_declarator
{ $$ = start_method (NULL_TREE, $1); goto rest_of_mdef; }
{ $$ = start_method (NULL_TREE, $1, NULL_TREE);
goto rest_of_mdef; }
| typed_declspecs declarator
{ tree specs = strip_attrs ($1.t);
$$ = start_method (specs, $2); goto rest_of_mdef; }
{ tree specs, attrs;
split_specs_attrs ($1.t, &specs, &attrs);
$$ = start_method (specs, $2, attrs); goto rest_of_mdef; }
| declmods notype_declarator
{ tree specs = strip_attrs ($1);
$$ = start_method (specs, $2); goto rest_of_mdef; }
{ tree specs, attrs;
split_specs_attrs ($1, &specs, &attrs);
$$ = start_method (specs, $2, attrs); goto rest_of_mdef; }
| notype_declarator
{ $$ = start_method (NULL_TREE, $$); goto rest_of_mdef; }
{ $$ = start_method (NULL_TREE, $$, NULL_TREE);
goto rest_of_mdef; }
| declmods constructor_declarator
{ tree specs = strip_attrs ($1);
$$ = start_method (specs, $2); goto rest_of_mdef; }
{ tree specs, attrs;
split_specs_attrs ($1, &specs, &attrs);
$$ = start_method (specs, $2, attrs); goto rest_of_mdef; }
| constructor_declarator
{ $$ = start_method (NULL_TREE, $$); goto rest_of_mdef; }
{ $$ = start_method (NULL_TREE, $$, NULL_TREE);
goto rest_of_mdef; }
;
return_id:
......
......@@ -386,6 +386,7 @@ my_friendly_abort (i)
else
ack ("Internal compiler error %d.", i);
ack ("Please submit a full bug report to `egcs-bugs@cygnus.com'.");
ack ("See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.");
}
else
error ("confused by earlier errors, bailing out");
......
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