diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-03-20 00:18:24 +0000 |
---|---|---|
committer | Mark Mitchell <mark@codesourcery.com> | 2004-03-20 00:18:24 +0000 |
commit | 9e676385d214854245ec7ea988cc4c1ed73b5a64 (patch) | |
tree | f2fd9f01f614185daf70c05007cdcde2929152b5 /gcc/cp/pt.c | |
parent | 104be4d0fd2b9257ccd0891b142317e5cbe717bb (diff) |
* call.c (build_op_delete_call): Do not forget the placement
arguments when iterating through mutiple delete operators.
* cp-tree.h (svaed_scope): Remove last_parms.
(NEW_DELETE_OPNAME_P): New macro.
(last_function_parms): Remove.
(do_friend): Adjust prototype.
* decl.c (grokparms): Return the PARM_DECLs directly, rather than
using last_function_parms.
(grokfndecl): Take the PARM_DECLs as an argument, rather than
using last_function_parms.
(grokdeclarator): Adjust accordingly. Do not form METHOD_TYPEs
for class-specific operator new and operator delete.
(grok_op_properties): Do not look for allocation functions with
METHOD_TYPEs.
(start_function): Use DECL_ARGUMENTS instead of
last_function_parms.
* decl.h (last_function_parms): Do not declare.
* decl2.c (grokclassfn): Do not use last_function_parms.
* friend.c (do_friend): Remove parmdecls parameter.
* name-lookup.c (push_to_top_level): Do not save last_function_parms.
(pop_from_top_level): Do not restore it.
* pt.c (check_explicit_specialization): Do not adjust
last_function_parms.
* name-lookup.c (do_local_using_decl): Create a local binding for
types brought in via using declarations.
* name-lookup.c (lookup_arg_dependent): Handle block-scope
function declarations correctly.
* semantics.c (finish_id_expression): Correct handling of
conversion operators to dependent types.
* typeck.c (lookup_destructor): Allow the use of destructors from
base classes.
* g++.dg/init/placement3.C: New test.
* g++.dg/template/spec13.C: New test.
* g++.dg/lookup/using11.C: New test.
* g++.dg/lookup/koenig3.C: New test.
* g++.dg/template/operator2.C: New test.
* g++.dg/expr/dtor3.C: New test.
* g++.old-deja/g++.brendan/crash15.C: Remove incorrect dg-error
marker.
* g++.old-deja/g++.law/visibility28.C: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@79722 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 3719410ad0d..be2f2c7c405 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -1910,15 +1910,10 @@ check_explicit_specialization (tree declarator, /* If we thought that the DECL was a member function, but it turns out to be specializing a static member function, - make DECL a static member function as well. We also have - to adjust last_function_parms to avoid confusing - start_function later. */ + make DECL a static member function as well. */ if (DECL_STATIC_FUNCTION_P (tmpl) && DECL_NONSTATIC_MEMBER_FUNCTION_P (decl)) - { - revert_static_member_fn (decl); - last_function_parms = TREE_CHAIN (last_function_parms); - } + revert_static_member_fn (decl); /* If this is a specialization of a member template of a template class. In we want to return the TEMPLATE_DECL, |