c++/10790: g++/gcc

Andrew Pinski pinskia@physics.uc.edu
Wed May 14 19:19:00 GMT 2003


This is a GCC extension so it is not a bug, use -pedantic or 
-pedantic-errors to see that they are not accepted.
I get some warnings or errors if -pedantic-errors:

test2.cc: In function `int main()':
test2.cc:7: warning: ISO C++ forbids variable-size array `arr'
test2.cc:9: warning: ISO C++ forbids variable-size array `arr2'

Thanks,
Andrew Pinski

PS can someone close this bug as it is not really a bug but a 
misunderstanding of GCC extensions.


On Wednesday, May 14, 2003, at 13:59 US/Eastern, lgang@yahoo.com wrote:

>
>> Number:         10790
>> Category:       c++
>> Synopsis:       g++/gcc
>> Confidential:   no
>> Severity:       serious
>> Priority:       medium
>> Responsible:    unassigned
>> State:          open
>> Class:          sw-bug
>> Submitter-Id:   net
>> Arrival-Date:   Wed May 14 18:06:00 UTC 2003
>> Closed-Date:
>> Last-Modified:
>> Originator:     lgang@yahoo.com
>> Release:        G++ 3.2
>> Organization:
>> Environment:
> Solaris 8
>> Description:
> Should a non-constant array be allowed in C/C++? I guess not.  See the 
> following code.
>
> int main()
> {
>   int c;
>   scanf("%d", &c);
>   int arr[c];
>   int p;
>   char arr2[c];
>   int another;
>   printf ("Terrible, diff=%d, diff=%d\n",
> 			 (char*)&c-(char*)&p, (char*)&p - (char*)&another);
>   return 0;
> }
>
> Seems that compiler treats it int arr[c] as int *arr.  I don't think 
> it should compile.
>
> Thanks
>> How-To-Repeat:
>
>> Fix:
>
>> Release-Note:
>> Audit-Trail:
>> Unformatted:
>
>



More information about the Gcc-bugs mailing list