]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.bugs / 900330_01.C
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C
deleted file mode 100644 (file)
index 651d370..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// g++ 1.37.1 bug 900330_01
-//
-// As indicated by the example at the end of the section 3.5.3 of the ANSI
-// C standard, when a type qualifier (i.e. "const" or "volatile") is applied
-// to an array type, the effect should be as if the element type had been
-// qualified with the given qualifier.
-//
-// This rule applies to C++ also.
-//
-// In section 7.1.6 of the C++ Reference Manual it says "Each element of a
-// const array is const..."
-//
-// It appears however that when a name already exists for a given array type
-// (i.e. a typedef name) and when that name is qualified by a type qualifier,
-// (i.e. "const" or "volatile"), gcc & g++ may act as if the qualifier applied
-// to the named (array) type rather that to the elements of that type.
-//
-// The result is that (even with the -ansi and -pedantic options) g++
-// generates no errors or warnings for the lines indicated (even though it
-// should).
-//
-// Due to the incorrect associations, gcc & g++ will also issue inappropriate
-// warnings in some cases (as illustrated below).
-
-// keywords: type qualifiers, arrays
-
-typedef const int const_int;
-typedef const_int array_of_const_int[3];
-array_of_const_int *ptr_to_array_of_consts;
-
-typedef int array_of_int[3];
-typedef const array_of_int const_array_of_int;
-const_array_of_int *ptr_to_const_array;
-
-void function_0 ()
-{
-  ptr_to_array_of_consts = ptr_to_const_array; /* gets bogus warning */
-  ptr_to_const_array = ptr_to_array_of_consts; /* gets bogus warning */
-}
-
-/* The following example is taken from ANSI 3.5.3 */
-
-typedef int A[2][3];
-const A a = {{4, 5, 6}, {7, 8, 9}};
-int *pi;
-
-void function_1 ()
-{
-  pi = a[0];   // ERROR - a[0] has type "const int *"
-}
-
-int main () { return 0; }