When declaring a two-dimensional array with variable-length second dimension, there is a warning "value computed is not used". For example: $ cat warn1.cpp void fred(){ int n=10; double (*x)[n]; } $ g++ -c warn1.cpp -Wall warn1.cpp: In function ‘void fred()’: warn1.cpp:3:16: warning: value computed is not used [-Wunused-value] warn1.cpp:3:12: warning: unused variable ‘x’ [-Wunused-variable] The second warning ("unused variable") is to be expected of course, and is not the subject of this bug report. I don't believe the fact that x isn't used is relevant to the first warning, so code that uses x is omitted in the above example in the interests of constructing a minimal example. But to check, here is a longer example that uses x: $ cat warn2.cpp #include <stdio.h> #include <stdlib.h> #define M 10 void fred(){ int a,b,n; n=10; double (*x)[n]; x=(double(*)[n])malloc(M*n*sizeof(double)); for(a=0;a<M;a++)for(b=0;b<n;b++)x[a][b]=3; for(a=0;a<M;a++)for(b=0;b<n;b++)printf("%g\n",x[a][b]); } $ g++ -c warn2.cpp -Wall warn2.cpp: In function ‘void fred()’: warn2.cpp:8:16: warning: value computed is not used [-Wunused-value] g++ --version g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 ...
Mine.
Author: paolo Date: Wed Oct 31 19:14:39 2012 New Revision: 193043 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193043 Log: /cp 2012-10-31 Paolo Carlini <paolo.carlini@oracle.com> 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 <paolo.carlini@oracle.com> PR c++/54583 * g++.dg/ext/vla13.C: New. Added: trunk/gcc/testsuite/g++.dg/ext/vla13.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/tree.c trunk/gcc/testsuite/ChangeLog
Fixed for 4.8.0.