aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2009-09-08 14:12:54 -0400
committerJason Merrill <jason@gcc.gnu.org>2009-09-08 14:12:54 -0400
commitee18fe39d375b10f99c0d5b428da50157fbbce83 (patch)
tree7bb5359fee295e5589c1461fade96c9624ea09b7
parentf33ab5c3f104755e1a626136f3d3f00583cfbf3c (diff)
downloadgcc-ee18fe39d375b10f99c0d5b428da50157fbbce83.zip
gcc-ee18fe39d375b10f99c0d5b428da50157fbbce83.tar.gz
gcc-ee18fe39d375b10f99c0d5b428da50157fbbce83.tar.bz2
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
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/cp-tree.h2
-rw-r--r--gcc/cp/decl2.c2
-rw-r--r--gcc/cp/method.c2
4 files changed, 6 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 20ce758..ebf4518 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 4f03868..ea3b4bf 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -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
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index cc4317a..e57c825 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -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
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 4563e8f..6acf1bb 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -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",