mirror of git://gcc.gnu.org/git/gcc.git
re PR c++/25137 (Warning "missing braces around initializer" causing problems with tr1::array)
/c-family 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable -Wmissing_braces. 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall for C++. /testsuite 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25137 * g++.dg/warn/Wbraces3.C: New. * g++.dg/warn/Wbraces4.C: Likewise. From-SVN: r187937
This commit is contained in:
parent
b492210558
commit
4a792f9b95
|
@ -1,3 +1,9 @@
|
||||||
|
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
|
PR c++/25137
|
||||||
|
* doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall
|
||||||
|
for C++.
|
||||||
|
|
||||||
2012-05-28 Hans-Peter Nilsson <hp@axis.com>
|
2012-05-28 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
* doc/md.texi (stack_protect_test): Remove negation of branch to
|
* doc/md.texi (stack_protect_test): Remove negation of branch to
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
|
PR c++/25137
|
||||||
|
* c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
|
||||||
|
-Wmissing_braces.
|
||||||
|
|
||||||
2012-05-22 Dodji Seketeli <dodji@redhat.com>
|
2012-05-22 Dodji Seketeli <dodji@redhat.com>
|
||||||
|
|
||||||
PR c++/53322
|
PR c++/53322
|
||||||
|
|
|
@ -370,7 +370,6 @@ c_common_handle_option (size_t scode, const char *arg, int value,
|
||||||
c_family_lang_mask, kind, loc,
|
c_family_lang_mask, kind, loc,
|
||||||
handlers, global_dc);
|
handlers, global_dc);
|
||||||
warn_char_subscripts = value;
|
warn_char_subscripts = value;
|
||||||
warn_missing_braces = value;
|
|
||||||
warn_parentheses = value;
|
warn_parentheses = value;
|
||||||
warn_return_type = value;
|
warn_return_type = value;
|
||||||
warn_sequence_point = value; /* Was C only. */
|
warn_sequence_point = value; /* Was C only. */
|
||||||
|
@ -402,6 +401,8 @@ c_common_handle_option (size_t scode, const char *arg, int value,
|
||||||
done in c_common_post_options. */
|
done in c_common_post_options. */
|
||||||
if (warn_enum_compare == -1)
|
if (warn_enum_compare == -1)
|
||||||
warn_enum_compare = value;
|
warn_enum_compare = value;
|
||||||
|
|
||||||
|
warn_missing_braces = value;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -3090,7 +3090,7 @@ Options} and @ref{Objective-C and Objective-C++ Dialect Options}.
|
||||||
-Wformat @gol
|
-Wformat @gol
|
||||||
-Wmain @r{(only for C/ObjC and unless} @option{-ffreestanding}@r{)} @gol
|
-Wmain @r{(only for C/ObjC and unless} @option{-ffreestanding}@r{)} @gol
|
||||||
-Wmaybe-uninitialized @gol
|
-Wmaybe-uninitialized @gol
|
||||||
-Wmissing-braces @gol
|
-Wmissing-braces @r{(only for C/ObjC)} @gol
|
||||||
-Wnonnull @gol
|
-Wnonnull @gol
|
||||||
-Wparentheses @gol
|
-Wparentheses @gol
|
||||||
-Wpointer-sign @gol
|
-Wpointer-sign @gol
|
||||||
|
@ -3401,7 +3401,8 @@ or @option{-Wpedantic}.
|
||||||
@opindex Wno-missing-braces
|
@opindex Wno-missing-braces
|
||||||
Warn if an aggregate or union initializer is not fully bracketed. In
|
Warn if an aggregate or union initializer is not fully bracketed. In
|
||||||
the following example, the initializer for @samp{a} is not fully
|
the following example, the initializer for @samp{a} is not fully
|
||||||
bracketed, but that for @samp{b} is fully bracketed.
|
bracketed, but that for @samp{b} is fully bracketed. This warning is
|
||||||
|
enabled by @option{-Wall} in C.
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
int a[2][2] = @{ 0, 1, 2, 3 @};
|
int a[2][2] = @{ 0, 1, 2, 3 @};
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
|
PR c++/25137
|
||||||
|
* g++.dg/warn/Wbraces3.C: New.
|
||||||
|
* g++.dg/warn/Wbraces4.C: Likewise.
|
||||||
|
|
||||||
2012-05-28 Jakub Jelinek <jakub@redhat.com>
|
2012-05-28 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR tree-optimization/53505
|
PR tree-optimization/53505
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
// PR c++/25137
|
||||||
|
// { dg-options "-Wall" }
|
||||||
|
|
||||||
|
struct S { int s[3]; };
|
||||||
|
S s1 = { 1, 1, 1 };
|
||||||
|
|
||||||
|
struct S1 { int s[3]; };
|
||||||
|
struct S2 { struct S1 a; };
|
||||||
|
S2 s21 = { 1, 1, 1 };
|
||||||
|
|
||||||
|
struct S3 { int s[3]; };
|
||||||
|
struct S4 { struct S3 a; int b; };
|
||||||
|
S4 s41 = { 1, 1, 1, 1 };
|
||||||
|
|
||||||
|
struct S5 { int s[3]; };
|
||||||
|
struct S6 { struct S5 a; int b; };
|
||||||
|
S6 s61 = { { 1, 1, 1 }, 1 };
|
||||||
|
|
||||||
|
struct S7 { int s[3]; };
|
||||||
|
struct S8 { int a; struct S7 b; };
|
||||||
|
S8 s81 = { 1, { 1, 1, 1 } };
|
||||||
|
|
||||||
|
struct S9 { int s[2]; };
|
||||||
|
struct S10 { struct S9 a; struct S9 b; };
|
||||||
|
S10 s101 = { { 1, 1 }, 1, 1 };
|
||||||
|
|
||||||
|
struct S11 { int s[2]; };
|
||||||
|
struct S12 { struct S11 a; struct S11 b; };
|
||||||
|
S12 s121 = { { 1, 1 }, { 1, 1 } };
|
||||||
|
|
||||||
|
struct S13 { int i; };
|
||||||
|
struct S14 { struct S13 a; };
|
||||||
|
struct S15 { struct S14 b; };
|
||||||
|
S15 s151 = { 1 };
|
|
@ -0,0 +1,34 @@
|
||||||
|
// PR c++/25137
|
||||||
|
// { dg-options "-Wmissing-braces" }
|
||||||
|
|
||||||
|
struct S { int s[3]; };
|
||||||
|
S s1 = { 1, 1, 1 }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S1 { int s[3]; };
|
||||||
|
struct S2 { struct S1 a; };
|
||||||
|
S2 s21 = { 1, 1, 1 }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S3 { int s[3]; };
|
||||||
|
struct S4 { struct S3 a; int b; };
|
||||||
|
S4 s41 = { 1, 1, 1, 1 }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S5 { int s[3]; };
|
||||||
|
struct S6 { struct S5 a; int b; };
|
||||||
|
S6 s61 = { { 1, 1, 1 }, 1 }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S7 { int s[3]; };
|
||||||
|
struct S8 { int a; struct S7 b; };
|
||||||
|
S8 s81 = { 1, { 1, 1, 1 } }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S9 { int s[2]; };
|
||||||
|
struct S10 { struct S9 a; struct S9 b; };
|
||||||
|
S10 s101 = { { 1, 1 }, 1, 1 }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S11 { int s[2]; };
|
||||||
|
struct S12 { struct S11 a; struct S11 b; };
|
||||||
|
S12 s121 = { { 1, 1 }, { 1, 1 } }; // { dg-warning "missing braces" }
|
||||||
|
|
||||||
|
struct S13 { int i; };
|
||||||
|
struct S14 { struct S13 a; };
|
||||||
|
struct S15 { struct S14 b; };
|
||||||
|
S15 s151 = { 1 }; // { dg-warning "missing braces" }
|
Loading…
Reference in New Issue