From: paolo Date: Wed, 31 Oct 2012 19:14:39 +0000 (+0000) Subject: /cp X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df18edc85419592f43453deaa40011d74a5b9003;p=thirdparty%2Fgcc.git /cp 2012-10-31 Paolo Carlini PR c++/54583 * tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the TYPE_SIZE of VLAs. /testsuite 2012-10-31 Paolo Carlini PR c++/54583 * g++.dg/ext/vla13.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193043 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a1abdde3f3d6..70d001cbb5e4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2012-10-31 Paolo Carlini + + PR c++/54583 + * tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the + TYPE_SIZE of VLAs. + 2012-10-31 Dodji Seketeli PR c++/54955 diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 8d555c2e2b1c..bcc2779f5447 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -824,6 +824,10 @@ build_cplus_array_type (tree elt_type, tree index_type) } } + /* Avoid spurious warnings with VLAs (c++/54583). */ + if (TYPE_SIZE (t) && EXPR_P (TYPE_SIZE (t))) + TREE_NO_WARNING (TYPE_SIZE (t)) = 1; + /* Push these needs up so that initialization takes place more easily. */ TYPE_NEEDS_CONSTRUCTING (t) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9bc92dfaf1e0..b32d9f79a577 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-10-31 Paolo Carlini + + PR c++/54583 + * g++.dg/ext/vla13.C: New. + 2012-10-31 Vladimir Makarov PR middle-end/55150 diff --git a/gcc/testsuite/g++.dg/ext/vla13.C b/gcc/testsuite/g++.dg/ext/vla13.C new file mode 100644 index 000000000000..719c35b16b18 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/vla13.C @@ -0,0 +1,8 @@ +// PR c++/54583 +// { dg-options "-Wunused-value" } + +void fred() +{ + int n=10; + double (*x)[n]; +}