GCC with patches for OS216
Revision | 196067027a74e57aba9c5d78870d4971b1591fce (tree) |
---|---|
Zeit | 2005-09-22 09:10:41 |
Autor | No Author <no-author@gcc....> |
Commiter | No Author |
This commit was manufactured by cvs2svn to create tag
'gcc_4_0_2_release'.
From-SVN: r104510
@@ -0,0 +1,10 @@ | ||
1 | +// PR c++/23993 | |
2 | + | |
3 | +const int data[2][4] = { | |
4 | + { 0, 1, 2, 3 } | |
5 | +}; | |
6 | + | |
7 | +template <typename T> | |
8 | +void t(int k) { | |
9 | + int candidate = data[1][k]; | |
10 | +} |
@@ -1,8 +0,0 @@ | ||
1 | -/* { dg-do compile } */ | |
2 | -/* { dg-options "-Wall -std=gnu89" } */ | |
3 | -/* This test is expected to fail with an error for the redefinition of foo. | |
4 | - This violates the constraint of 6.9#3 (no more than one external definition | |
5 | - of an identifier with internal linkage in the same translation unit). */ | |
6 | -static inline int foo(void) { return 1; } /* { dg-error "previous definition of" } */ | |
7 | -static inline int foo(void) { return 0; } /* { dg-error "redefinition of" } */ | |
8 | - |
@@ -1,5 +0,0 @@ | ||
1 | -/* { dg-do compile } */ | |
2 | -/* { dg-options "-Wall -std=gnu89" } */ | |
3 | -/* This test should compile successfully. */ | |
4 | -extern inline int foo (void) { return 0; } | |
5 | -inline int foo (void) { return 1; } |
@@ -1,7 +0,0 @@ | ||
1 | -/* { dg-do compile } */ | |
2 | -/* { dg-options "-Wall -std=gnu89" } */ | |
3 | -/* This testcase should fail since we're redefining foo in the same | |
4 | - translation unit. */ | |
5 | -extern inline int foo(void) { return 0; } | |
6 | -inline int foo (void) { return 1; } /* { dg-error "previous definition of" } */ | |
7 | -int foo (void) { return 2; } /* { dg-error "error: redefinition of" } */ |
@@ -1,6 +0,0 @@ | ||
1 | -/* { dg-do compile } */ | |
2 | -/* { dg-options "-Wall -std=gnu89" } */ | |
3 | -/* This testcase should fail since we're redefining foo in the same | |
4 | - translation unit. */ | |
5 | -int foo (void) { return 2; } /* { dg-error "previous definition of" } */ | |
6 | -extern inline int foo (void) { return 1; } /* { dg-error "redefinition of" } */ |
@@ -1,92 +0,0 @@ | ||
1 | -/* { dg-do compile } */ | |
2 | -/* { dg-options "-O2 -msse2" } */ | |
3 | - | |
4 | -typedef float __v4sf __attribute__ ((__vector_size__ (16))); | |
5 | -typedef float __m128 __attribute__ ((__vector_size__ (16))); | |
6 | -typedef long long __v2di __attribute__ ((__vector_size__ (16))); | |
7 | - | |
8 | -static __inline __m128 | |
9 | -_mm_cmpeq_ps (__m128 __A, __m128 __B) | |
10 | -{ | |
11 | - return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B); | |
12 | -} | |
13 | - | |
14 | -static __inline __m128 | |
15 | -_mm_setr_ps (float __Z, float __Y, float __X, float __W) | |
16 | -{ | |
17 | - return __extension__ (__m128)(__v4sf){__Z, __Y, __X, __W }; | |
18 | -} | |
19 | - | |
20 | -static __inline __m128 | |
21 | -_mm_and_si128 (__m128 __A, __m128 __B) | |
22 | -{ | |
23 | - return (__m128)__builtin_ia32_pand128 ((__v2di)__A, (__v2di)__B); | |
24 | -} | |
25 | - | |
26 | -static __inline __m128 | |
27 | -_mm_or_si128 (__m128 __A, __m128 __B) | |
28 | -{ | |
29 | - return (__m128)__builtin_ia32_por128 ((__v2di)__A, (__v2di)__B); | |
30 | -} | |
31 | - | |
32 | -typedef union | |
33 | -{ | |
34 | - __m128 xmmi; | |
35 | - int si[4]; | |
36 | -} | |
37 | -__attribute__ ((aligned (16))) um128; | |
38 | - | |
39 | -um128 u; | |
40 | - | |
41 | -static inline int | |
42 | -sse_max_abs_indexf (float *v, int step, int n) | |
43 | -{ | |
44 | - __m128 m1, mm; | |
45 | - __m128 mim, mi, msk; | |
46 | - um128 u, ui; | |
47 | - int n4, step2, step3; | |
48 | - mm = __builtin_ia32_andps ((__m128) (__v4sf) | |
49 | - { 0.0, v[step], v[step2], v[step3] } | |
50 | - , u.xmmi); | |
51 | - if (n4) | |
52 | - { | |
53 | - int i; | |
54 | - for (i = 0; i < n4; ++i); | |
55 | - msk = (__m128) _mm_cmpeq_ps (m1, mm); | |
56 | - mim = _mm_or_si128 (_mm_and_si128 (msk, mi), mim); | |
57 | - } | |
58 | - ui.xmmi = (__m128) mim; | |
59 | - return ui.si[n]; | |
60 | -} | |
61 | - | |
62 | -static void | |
63 | -sse_swap_rowf (float *r1, float *r2, int n) | |
64 | -{ | |
65 | - int n4 = (n / 4) * 4; | |
66 | - float *r14end = r1 + n4; | |
67 | - while (r1 < r14end) | |
68 | - { | |
69 | - *r1 = *r2; | |
70 | - r1++; | |
71 | - } | |
72 | -} | |
73 | - | |
74 | -void | |
75 | -ludcompf (float *m, int nw, int *prow, int n) | |
76 | -{ | |
77 | - int i, s = 0; | |
78 | - float *pm; | |
79 | - for (i = 0, pm = m; i < n - 1; ++i, pm += nw) | |
80 | - { | |
81 | - int vi = sse_max_abs_indexf (pm + i, nw, n - i); | |
82 | - float *pt; | |
83 | - int j; | |
84 | - if (vi != 0) | |
85 | - { | |
86 | - sse_swap_rowf (pm, pm + vi * nw, nw); | |
87 | - swap_index (prow, i, i + vi); | |
88 | - } | |
89 | - for (j = i + 1, pt = pm + nw; j < n; ++j, pt += nw) | |
90 | - sse_add_rowf (pt + i + 1, pm + i + 1, -1.0, n - i - 1); | |
91 | - } | |
92 | -} |
@@ -1,28 +0,0 @@ | ||
1 | -! { dg-do run } | |
2 | -! reduced testcase from PR 17740 | |
3 | -module FOO | |
4 | - | |
5 | - interface BAR | |
6 | - module procedure BAR2 | |
7 | - end interface | |
8 | - | |
9 | -contains | |
10 | - | |
11 | - elemental integer function BAR2(X) | |
12 | - integer, intent(in) :: X | |
13 | - BAR2 = X | |
14 | - end function | |
15 | - | |
16 | - subroutine BAZ(y,z) | |
17 | - integer :: Y(3), Z(3) | |
18 | - Z = BAR(Y) | |
19 | - end subroutine | |
20 | - | |
21 | -end module | |
22 | - | |
23 | -use foo | |
24 | -integer :: y(3), z(3) | |
25 | -y = (/1,2,3/) | |
26 | -call baz(y,z) | |
27 | -if (any (y /= z)) call abort () | |
28 | -end |
@@ -1,8 +0,0 @@ | ||
1 | -class pr13788 { | |
2 | - private static final int DUMMY1 = 1 >>> 1; | |
3 | - | |
4 | - public static void main(String [] args) { | |
5 | - System.out.println(DUMMY1); | |
6 | - } | |
7 | -} | |
8 | - |
@@ -1,15 +0,0 @@ | ||
1 | -public class pr21540 | |
2 | -{ | |
3 | - public static final long xxx = 555; | |
4 | - | |
5 | - public boolean fn (int v) | |
6 | - { | |
7 | - switch (v) | |
8 | - { | |
9 | - case ((int) xxx >>> 32): | |
10 | - return true; | |
11 | - default: | |
12 | - return false; | |
13 | - } | |
14 | - } | |
15 | -} |
@@ -1,44 +0,0 @@ | ||
1 | -// PR19870: Test static field access across nested class boundaries. | |
2 | -// | |
3 | -public class PR19870 | |
4 | -{ | |
5 | - private static int x = 123; | |
6 | - | |
7 | - static class Foo | |
8 | - { | |
9 | - private static int junk = 1000; | |
10 | - | |
11 | - static void snafu( ) | |
12 | - { | |
13 | - System.out.println( x); | |
14 | - x = 456; | |
15 | - System.out.println( PR19870.x); | |
16 | - PR19870.x = 789; | |
17 | - System.out.println( PR19870.x); | |
18 | - | |
19 | - System.out.println( Bar.junk); | |
20 | - } | |
21 | - } | |
22 | - | |
23 | - static class Bar | |
24 | - { | |
25 | - private static int junk = 1984; | |
26 | - | |
27 | - static void snafu( ) | |
28 | - { | |
29 | - System.out.println( Foo.junk); | |
30 | - Foo.junk = 2000; | |
31 | - System.out.println( Foo.junk); | |
32 | - } | |
33 | - } | |
34 | - | |
35 | - public static void main( String[] args) | |
36 | - { | |
37 | - Foo.snafu( ); | |
38 | - Bar.snafu( ); | |
39 | - | |
40 | - System.out.println( Foo.junk); | |
41 | - Foo.junk = 3000; | |
42 | - System.out.println( Foo.junk); | |
43 | - } | |
44 | -} |
@@ -1,8 +0,0 @@ | ||
1 | -123 | |
2 | -456 | |
3 | -789 | |
4 | -1984 | |
5 | -1000 | |
6 | -2000 | |
7 | -2000 | |
8 | -3000 |
@@ -1,39 +0,0 @@ | ||
1 | -// PR19870: Test synthetic accessor generation for private static methods | |
2 | -// accessed across nested class boundaries. | |
3 | -public class PR19870_2 | |
4 | -{ | |
5 | - static class A | |
6 | - { | |
7 | - private static void foo( ) | |
8 | - { | |
9 | - System.out.println( "1"); | |
10 | - } | |
11 | - | |
12 | - private static void bar( int x) | |
13 | - { | |
14 | - System.out.println( x); | |
15 | - snafu( ); | |
16 | - PR19870_2.snafu( ); | |
17 | - } | |
18 | - } | |
19 | - | |
20 | - static class B | |
21 | - { | |
22 | - private static void foo( ) | |
23 | - { | |
24 | - A.foo( ); | |
25 | - } | |
26 | - } | |
27 | - | |
28 | - private static void snafu( ) | |
29 | - { | |
30 | - System.out.println( "3"); | |
31 | - } | |
32 | - | |
33 | - public static void main( String[] args) | |
34 | - { | |
35 | - A.foo( ); | |
36 | - A.bar( 2); | |
37 | - B.foo( ); | |
38 | - } | |
39 | -} |
@@ -1,5 +0,0 @@ | ||
1 | -1 | |
2 | -2 | |
3 | -3 | |
4 | -3 | |
5 | -1 |