cp-tree.h (enum overload_flags): Remove OP_FLAG.

* cp-tree.h (enum overload_flags): Remove OP_FLAG.
	* method.c (lazily_declare_fn): Check for dtorness in ABI warning.

From-SVN: r151528
This commit is contained in:
Jason Merrill 2009-09-08 14:12:54 -04:00 committed by Jason Merrill
parent f33ab5c3f1
commit ee18fe39d3
4 changed files with 6 additions and 5 deletions

View File

@ -1,12 +1,13 @@
2009-09-03 Jason Merrill <jason@redhat.com>
* cp-tree.h (enum overload_flags): Remove OP_FLAG.
* method.c (lazily_declare_fn): Check for dtorness in ABI warning.
* name-lookup.c (is_class_level): Remove.
(push_binding_level, leave_scope, resume_scope): Adjust.
(pushlevel_class): Adjust.
(poplevel_class): Make sure we're on class_binding_level.
2009-09-02 Jason Merrill <jason@redhat.com>
* decl.c (grokmethod): Rename from start_method.
(finish_method): Remove.
* cp-tree.h: Adjust.

View File

@ -3804,7 +3804,7 @@ extern int at_eof;
TREE_PURPOSE slot. */
extern GTY(()) tree static_aggregates;
enum overload_flags { NO_SPECIAL = 0, DTOR_FLAG, OP_FLAG, TYPENAME_FLAG };
enum overload_flags { NO_SPECIAL = 0, DTOR_FLAG, TYPENAME_FLAG };
/* These are uses as bits in flags passed to various functions to
control their behavior. Despite the LOOKUP_ prefix, many of these

View File

@ -254,7 +254,7 @@ maybe_retrofit_in_chrg (tree fn)
FUNCTION is a FUNCTION_DECL. It was created by `grokdeclarator'.
FLAGS contains bits saying what's special about today's
arguments. 1 == DESTRUCTOR. 2 == OPERATOR.
arguments. DTOR_FLAG == DESTRUCTOR.
If FUNCTION is a destructor, then we must add the `auto-delete' field
as a second parameter. There is some hair associated with the fact

View File

@ -1161,7 +1161,7 @@ lazily_declare_fn (special_function_kind sfk, tree type)
/* G++ 3.2 put the implicit destructor at the *beginning* of the
TYPE_METHODS list, which cause the destructor to be emitted
in an incorrect location in the vtable. */
if (warn_abi && DECL_VIRTUAL_P (fn))
if (warn_abi && sfk == sfk_destructor && DECL_VIRTUAL_P (fn))
warning (OPT_Wabi, "vtable layout for class %qT may not be ABI-compliant"
"and may change in a future version of GCC due to "
"implicit virtual destructor",