OSDN Git Service

* gcc.target/powerpc/altivec-macros.c: Require a powerpc_altivec_ok
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / powerpc / altivec-macros.c
1 /* Copyright (C) 2007 Free Software Foundation, Inc.  */
2
3 /* { dg-do preprocess } */
4 /* { dg-require-effective-target powerpc_altivec_ok } */
5 /* { dg-options "-maltivec" } */
6
7 /* Conditional macros should not be expanded by pragmas.  */
8 #pragma __vector
9 _Pragma ("__vector")
10
11 /* Redefinition of conditional macros.  */
12 /* No warning should be generated.  */
13
14 #define __vector __new_vector
15 #define __pixel __new_pixel
16 #define __bool __new_bool
17 #define vector new_vector
18 #define pixel new_pixel
19 #define bool new_bool
20
21 /* Definition of conditional macros.  */
22 /* No warning should be generated.  */
23
24 #undef __vector
25 #define __vector __new_vector
26
27 #undef __pixel
28 #define __pixel __new_pixel
29
30 #undef __bool
31 #define __bool __new_bool
32
33 #undef vector
34 #define vector new_vector
35
36 #undef pixel
37 #define pixel new_pixel
38
39 #undef bool
40 #define bool new_bool
41
42 /* Re-definition of "unconditional" macros.  */
43 /* Warnings should be generated as usual.  */
44
45 #define __vector        __newer_vector
46 #define __pixel         __newer_pixel
47 #define __bool          __newer_bool
48 #define vector          newer_vector
49 #define pixel           newer_pixel
50 #define bool            newer_bool
51
52 /* { dg-warning "redefined" "__vector redefined"  { target *-*-* } 45 } */
53 /* { dg-warning "redefined" "__pixel redefined"   { target *-*-* } 46 } */
54 /* { dg-warning "redefined" "__bool redefined"    { target *-*-* } 47 } */
55 /* { dg-warning "redefined" "vector redefined"    { target *-*-* } 48 } */
56 /* { dg-warning "redefined" "pixel redefined"     { target *-*-* } 49 } */
57 /* { dg-warning "redefined" "bool redefined"      { target *-*-* } 50 } */
58
59 /* { dg-message "location of the previous"  "prev __vector defn"  { target *-*-* } 25 } */
60 /* { dg-message "location of the previous"  "prev __pixel defn"   { target *-*-* } 28 } */
61 /* { dg-message "location of the previous"  "prev __bool defn"    { target *-*-* } 31 } */
62 /* { dg-message "location of the previous"  "prev vector defn"    { target *-*-* } 34 } */
63 /* { dg-message "location of the previous"  "prev pixel defn"     { target *-*-* } 37 } */
64 /* { dg-message "location of the previous"  "prev bool defn"      { target *-*-* } 40 } */