From 712b39c5282886e1552a3e105ffa0da9a94f480a Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Fri, 11 Feb 2005 17:15:50 +0000 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl.c | 13 +++++++++---- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/warn/Wbraces1.C | 3 +++ 4 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 gcc/testsuite/g++.dg/warn/Wbraces1.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 490a54eadfe..971bacafc7e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2005-02-10 Mark Mitchell + + PR c++/19755 + * decl.c (reshape_init): Issue warnings about missing braces. + 2005-02-11 Kazu Hirata * cp-tree.def, except.c, ptree.c: Update copyright. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 05918f553f9..a93cdf8f4c1 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 6e7dc97e434..1064f44346e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-02-11 Mark Mitchell + + PR c++/19755 + * g++.dg/warn/Wbraces1.C: New test. + 2005-02-10 Richard Guenther * 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 00000000000..0efce7be3ff --- /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 "" } -- 2.30.2