aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-02-11 17:15:50 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2005-02-11 17:15:50 +0000
commit712b39c5282886e1552a3e105ffa0da9a94f480a (patch)
treed3af2f2df6f0bdaa1e0db957b718d6819eb6f324
parentfb4d77b367807462456e2992153b33761b0dc5ff (diff)
downloadgcc-712b39c5282886e1552a3e105ffa0da9a94f480a.zip
gcc-712b39c5282886e1552a3e105ffa0da9a94f480a.tar.gz
gcc-712b39c5282886e1552a3e105ffa0da9a94f480a.tar.bz2
re PR c++/19755 (-Wmissing-braces doesn't warn anymore)
PR c++/19755 * decl.c (reshape_init): Issue warnings about missing braces. PR c++/19755 * g++.dg/warn/Wbraces1.C: New test. From-SVN: r94882
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl.c13
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/warn/Wbraces1.C3
4 files changed, 22 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 490a54e..971baca 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-10 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19755
+ * decl.c (reshape_init): Issue warnings about missing braces.
+
2005-02-11 Kazu Hirata <kazu@cs.umass.edu>
* cp-tree.def, except.c, ptree.c: Update copyright.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 05918f5..a93cdf8 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -4352,10 +4352,15 @@ reshape_init (tree type, tree *initp)
new_init = build_tree_list (TREE_PURPOSE (old_init), new_init);
}
- /* If this was a brace-enclosed initializer and all of the
- initializers were not used up, there is a problem. */
- if (brace_enclosed_p && *initp)
- error ("too many initializers for %qT", type);
+ /* If there are more initializers than necessary, issue a
+ diagnostic. */
+ if (*initp)
+ {
+ if (brace_enclosed_p)
+ error ("too many initializers for %qT", type);
+ else if (warn_missing_braces)
+ warning ("missing braces around initializer");
+ }
return new_init;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6e7dc97..1064f44 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/19755
+ * g++.dg/warn/Wbraces1.C: New test.
+
2005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
* gcc.dg/builtins-52.c: New testcase.
diff --git a/gcc/testsuite/g++.dg/warn/Wbraces1.C b/gcc/testsuite/g++.dg/warn/Wbraces1.C
new file mode 100644
index 0000000..0efce7b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wbraces1.C
@@ -0,0 +1,3 @@
+// PR c++/19755
+// { dg-options "-Wmissing-braces" }
+int a[2][2] = { 0, 1 , 2, 3 }; // { dg-warning "" }