aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2015-09-22 15:34:49 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2015-09-22 15:34:49 +0000
commit6b333269be81396c4ed6b700bf8bd3e0adeb50dc (patch)
treebcb65e277ee9e4c184bb3b1253a5dc833a787791 /gcc/c-family
parenta75f15742ab04d48fb599c9b6523ffbe8f5d837c (diff)
downloadgcc-6b333269be81396c4ed6b700bf8bd3e0adeb50dc.zip
gcc-6b333269be81396c4ed6b700bf8bd3e0adeb50dc.tar.gz
gcc-6b333269be81396c4ed6b700bf8bd3e0adeb50dc.tar.bz2
c.opt (Wmultiple-inheritance, [...]): New C++ warnings.
c-family/ * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates, Wnamespaces): New C++ warnings. cp/ * decl.c (xref_basetypes): Check virtual and/or multiple inheritance warning. * parser.c (cp_parser_namespace_definition): Check namespaces warning. * pt.c (push_template_decl_real): Check templates warning. * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance, -Wtemplates, -Wnamespaces): Document. testsuite/ * g++.dg/diagostic/disable.C: New. From-SVN: r228019
Diffstat (limited to 'gcc/c-family')
-rw-r--r--gcc/c-family/ChangeLog5
-rw-r--r--gcc/c-family/c.opt16
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index bccbbfa..381cb92 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
+ Wnamespaces): New C++ warnings.
+
2015-09-22 Jason Merrill <jason@redhat.com>
* c-common.h (abi_compat_version_crosses): New.
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 47ba070..3d7d502 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -573,6 +573,14 @@ Wmissing-field-initializers
C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Warning EnabledBy(Wextra)
Warn about missing fields in struct initializers
+Wmultiple-inheritance
+C++ ObjC++ Var(warn_multiple_inheritance) Warning
+Warn on direct multiple inheritance
+
+Wnamespaces
+C++ ObjC++ Var(warn_namespaces) Warning
+Warn on namespace definition
+
Wsized-deallocation
C++ ObjC++ Var(warn_sized_deallocation) Warning EnabledBy(Wextra)
Warn about missing sized deallocation functions
@@ -610,6 +618,10 @@ Wswitch-bool
C ObjC C++ ObjC++ Var(warn_switch_bool) Warning Init(1)
Warn about switches with boolean controlling expression
+Wtemplates
+C++ ObjC++ Var(warn_templates) Warning
+Warn on primary template declaration
+
Wmissing-format-attribute
C ObjC C++ ObjC++ Alias(Wsuggest-attribute=format)
;
@@ -936,6 +948,10 @@ Wvolatile-register-var
C ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
Warn when a register variable is declared volatile
+Wvirtual-inheritance
+C++ ObjC++ Var(warn_virtual_inheritance) Warning
+Warn on direct virtual inheritance
+
Wvirtual-move-assign
C++ ObjC++ Var(warn_virtual_move_assign) Warning Init(1)
Warn if a virtual base has a non-trivial move assignment operator