diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C')
-rw-r--r-- | gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C new file mode 100644 index 000000000..0c8d8a2ba --- /dev/null +++ b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C @@ -0,0 +1,27 @@ +// { dg-do assemble } +// 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) { } // { dg-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; // { dg-error "" } invalid declaration + +void test_passing () +{ + take_b_array_ref (u_array_ref_gbl_obj0); // { dg-error "" } invalid call +} + +b_array u_array_gbl_obj; + +int main () { return 0; } |