aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2018-09-20 01:56:58 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2018-09-20 01:56:58 +0000
commita599af84b2170d8d66385674ef59283ac7567beb (patch)
treebf068ca7002b41bbcd5a22acbec77ab45d67f0ac /gcc/c-family
parentcf16d179d570e9a5535267b92e0f9e71756483b0 (diff)
downloadgcc-a599af84b2170d8d66385674ef59283ac7567beb.zip
gcc-a599af84b2170d8d66385674ef59283ac7567beb.tar.gz
gcc-a599af84b2170d8d66385674ef59283ac7567beb.tar.bz2
Add -Wclass-conversion.
* c.opt (Wclass-conversion): New. * decl.c (grok_op_properties): Change a warning from -Wconversion to -Wclass-conversion. Make it print the types. * doc/invoke.texi: Document -Wclass-conversion. * g++.dg/conversion/op4.C: Add dg-warning. * g++.dg/warn/Wclass-conversion1.C: New test. * g++.dg/warn/Wclass-conversion2.C: New test. * g++.dg/warn/Wconversion5.C: Remove file. * g++.dg/warn/conversion-function-1.C: Use -Wno-class-converison. * g++.old-deja/g++.bugs/900215_01.C: Adjust dg-warning. * g++.old-deja/g++.jason/conversion5.C: Likewise. From-SVN: r264438
Diffstat (limited to 'gcc/c-family')
-rw-r--r--gcc/c-family/ChangeLog4
-rw-r--r--gcc/c-family/c.opt4
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index f2ec394..8fc773c 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,7 @@
+2018-09-19 Marek Polacek <polacek@redhat.com>
+
+ * c.opt (Wclass-conversion): New.
+
2018-09-17 David Malcolm <dmalcolm@redhat.com>
* c-format.c (range_label_for_format_type_mismatch::get_text):
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 092ec94..43d1d27 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -850,6 +850,10 @@ Wnon-template-friend
C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning
Warn when non-templatized friend functions are declared within a template.
+Wclass-conversion
+C++ ObjC++ Var(warn_class_conversion) Init(1) Warning
+Warn when a conversion function will never be called due to the type it converts to.
+
Wclass-memaccess
C++ ObjC++ Var(warn_class_memaccess) Warning LangEnabledBy(C++ ObjC++, Wall)
Warn for unsafe raw memory writes to objects of class types.