call.c (convert_default_arg): Check for unprocessed DEFAULT_ARG.
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 11 Jan 2001 12:29:20 +0000 (12:29 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Thu, 11 Jan 2001 12:29:20 +0000 (12:29 +0000)
commit96a1e32dcdf973cab1c308cfcdfcf6f07444b2cc
treeec5b5da0d3a77d08ddf43c7b5c39291e71111bc5
parent34e225a30bcb010bc46846eb3ea6ad9e1321034d
call.c (convert_default_arg): Check for unprocessed DEFAULT_ARG.

cp:
* call.c (convert_default_arg): Check for unprocessed
DEFAULT_ARG.
* cp-tree.h (replace_defarg): Move to spew.c.
(maybe_snarf_defarg, add_defarg_fn, do_pending_defargs): Move to
spew.c, which is where they really are.
(done_pending_defargs): Declare.
(unprocessed_defarg_fn): Declare.
* decl.c (replace_defarg): Move to spew.c
* parse.y (structsp): Call done_pending_defargs.
* spew.c (defarg_fns): Rearrange list structure.
(defarg_fnsdone): New static variable.
(defarg_depfns): New static variable.
(init_spew): Adjust.
(add_defarg_fn): Store the type in TREE_TYPE.
(do_pending_defargs): Detect and deal with ordering constraints
and circularity.
(done_pending_defargs): New function.
(unprocessed_defarg_fn): New function.
(replace_defarg): Moved from decl.c. Robustify. Don't save
if circularity detected.
testsuite:
* g++.old-deja/g++.other/defarg7.C: New test.
* g++.old-deja/g++.other/defarg8.C: New test.

From-SVN: r38903
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/parse.y
gcc/cp/spew.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.other/defarg7.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.other/defarg8.C [new file with mode: 0644]