diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C')
-rwxr-xr-x | gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C new file mode 100755 index 0000000..80543b6 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C @@ -0,0 +1,26 @@ +// g++ 1.37.1 bug 900520_02 + +// keywords: reference types, initialization, parameter passing + +typedef int b_array[3]; +typedef int u_array[]; + +typedef b_array &b_array_ref; +typedef u_array &u_array_ref; + +void take_b_array_ref (b_array_ref arg) { } // ERROR - passed to here + +extern u_array u_array_gbl_obj; + +u_array_ref u_array_ref_gbl_obj0 = u_array_gbl_obj; + +b_array_ref b_array_ref_gbl_obj0 = u_array_ref_gbl_obj0; // ERROR - invalid declaration + +void test_passing () +{ + take_b_array_ref (u_array_ref_gbl_obj0); // ERROR - invalid call +} + +b_array u_array_gbl_obj; + +int main () { return 0; } |