aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-03-07 23:08:58 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2005-03-07 23:08:58 +0000
commitf03e8526def1a820f811a649bc245dde18f18c02 (patch)
treeaaf0a4b38dc9b8dcd379d14f41c5e41463acdb11 /gcc
parent5fa09df40239511f4d688af53999322106e8934b (diff)
downloadgcc-f03e8526def1a820f811a649bc245dde18f18c02.zip
gcc-f03e8526def1a820f811a649bc245dde18f18c02.tar.gz
gcc-f03e8526def1a820f811a649bc245dde18f18c02.tar.bz2
class.c (finish_struct_1): Do not warn about non-virtual destructors in Java classes.
* class.c (finish_struct_1): Do not warn about non-virtual destructors in Java classes. * g++.dg/warn/Wnvdtor.C: New test. From-SVN: r96054
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/warn/Wnvdtor.C10
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 4c40681..3048511f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-07 Mark Mitchell <mark@codesourcery.com>
+
+ * class.c (finish_struct_1): Do not warn about non-virtual
+ destructors in Java classes.
+
2005-03-05 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
PR c++/19311
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index ba89ea1..89346d6 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5029,7 +5029,9 @@ finish_struct_1 (tree t)
/* Build the VTT for T. */
build_vtt (t);
- if (warn_nonvdtor && TYPE_POLYMORPHIC_P (t))
+ /* This warning does not make sense for Java classes, since they
+ cannot have destructors. */
+ if (!TYPE_FOR_JAVA (t) && warn_nonvdtor && TYPE_POLYMORPHIC_P (t))
{
tree dtor;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3b33042..452046f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2005-03-07 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/warn/Wnvdtor.C: New test.
+
2005-03-07 Richard Sandiford <rsandifo@redhat.com>
* gcc.dg/torture/pr19683-1.c: New test.
diff --git a/gcc/testsuite/g++.dg/warn/Wnvdtor.C b/gcc/testsuite/g++.dg/warn/Wnvdtor.C
new file mode 100644
index 0000000..b04fdcb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wnvdtor.C
@@ -0,0 +1,10 @@
+// { dg-options "-Wnon-virtual-dtor" }
+
+extern "Java"
+{
+ class Foo
+ {
+ public:
+ virtual void bar( void);
+ };
+}