]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.bugs / 900520_03.C
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C
deleted file mode 100644 (file)
index b1f05c9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// g++ 1.37.1 bug 900520_03
-
-// The C++ Reference Manual says (in section 8.2.4):
-
-//     When an identifier of array type appears in an expression, except
-//     as the operand of sizeof or & or used to initialize a reference,
-//     it is converted into a pointer to the first member of the array.
-
-// One must assume from the verbage, that when the name of a non-const array
-// object appears in one of the exempted contexts mentioned in this passage,
-// that it is *not* automatically converted into a pointer value, but rather
-// that it remains as an array type value, and that it may therefore also
-// still be an lvalue, and may be used to initialize references.
-
-// As the following code demonstrates, g++ does in fact treat the names
-// of non-const array objects as valid initializers for reference-to-array
-// type object in some (but not all) contexts.
-
-// The exception is that g++ does not allow names which designate objects
-// on incomplete array types to be used as actual parameters in function
-// calls where the corresponding formal parameter is of a reference-to-array
-// type.
-
-// g++ does however allow other similar sorts of initializations of non-formal
-// reference objects.
-
-// 5/16/94 (jason): The 1/25/94 WP explicitly states in section 8.3.5 that
-// parameter types may not contain pointers or references to arrays of unknown
-// bound.  g++ is correct.
-
-// keywords: reference types, array types, initialization, parameter passing
-
-typedef int u_array[];
-typedef u_array &u_array_ref;
-
-void take_u_array_ref (u_array_ref arg) { } // ERROR - reference to array of unknown bound in parmtype
-
-extern u_array u_array_gbl_obj;
-u_array_ref u_array_ref_gbl_obj0 = u_array_gbl_obj;    // OK
-
-void test_local_initialization ()
-{
-  u_array_ref u_array_ref_lcl_obj0 = u_array_gbl_obj;  // OK
-}
-
-void test_passing ()
-{
-  take_u_array_ref (u_array_gbl_obj);
-}