diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C')
-rwxr-xr-x | gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C new file mode 100755 index 0000000..489671f --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C @@ -0,0 +1,29 @@ +// g++ 1.37.1 bug 900321_01 + +// cfront flags ERRORs on each of the lines indicated below. g++ does not +// flag either ERRORs or warnings. + +// Although I cannot find where in the current C++ Reference Manual this +// topic is covered, I am sure that these statements should get ERRORs in +// a "strongly typed" language. + +// Cfront 2.0 passes this test. + +// keywords: array types, array bound, pointers + +int (*ptr_to_array_of_ints)[]; +int (*ptr_to_array_of_3_ints) [3]; +int (*ptr_to_array_of_5_ints) [5]; + +void function_0 () +{ + // we miss the first two because typeck.c (comp_array_types) deems + // it okay if one of the sizes is null + ptr_to_array_of_ints = ptr_to_array_of_3_ints; // ERROR - + ptr_to_array_of_3_ints = ptr_to_array_of_ints; // ERROR - + + ptr_to_array_of_3_ints = ptr_to_array_of_5_ints; // ERROR - + ptr_to_array_of_5_ints = ptr_to_array_of_3_ints; // ERROR - +} + +int main () { return 0; } |