http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54583

             Bug #: 54583
           Summary: Spurious warning: value computed is not used with
                    variable-size array
    Classification: Unclassified
           Product: gcc
           Version: 4.6.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: stuff0...@pobox.com


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
...

Reply via email to