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 /* { dg-message "-:location of the previous" "prev __vector defn" { target *-*-* } .-1 } */ 27 28 #undef __pixel 29 #define __pixel __new_pixel 30 /* { dg-message "-:location of the previous" "prev __pixel defn" { target *-*-* } .-1 } */ 31 32 #undef __bool 33 #define __bool __new_bool 34 /* { dg-message "-:location of the previous" "prev __bool defn" { target *-*-* } .-1 } */ 35 36 #undef vector 37 #define vector new_vector 38 /* { dg-message "-:location of the previous" "prev vector defn" { target *-*-* } .-1 } */ 39 40 #undef pixel 41 #define pixel new_pixel 42 /* { dg-message "-:location of the previous" "prev pixel defn" { target *-*-* } .-1 } */ 43 44 #undef bool 45 #define bool new_bool 46 /* { dg-message "-:location of the previous" "prev bool defn" { target *-*-* } .-1 } */ 47 48 /* Re-definition of "unconditional" macros. */ 49 /* Warnings should be generated as usual. */ 50 51 #define __vector __newer_vector 52 /* { dg-warning "-:redefined" "__vector redefined" { target *-*-* } .-1 } */ 53 54 #define __pixel __newer_pixel 55 /* { dg-warning "-:redefined" "__pixel redefined" { target *-*-* } .-1 } */ 56 57 #define __bool __newer_bool 58 /* { dg-warning "-:redefined" "__bool redefined" { target *-*-* } .-1 } */ 59 60 #define vector newer_vector 61 /* { dg-warning "-:redefined" "vector redefined" { target *-*-* } .-1 } */ 62 63 #define pixel newer_pixel 64 /* { dg-warning "-:redefined" "pixel redefined" { target *-*-* } .-1 } */ 65 66 #define bool newer_bool 67 /* { dg-warning "-:redefined" "bool redefined" { target *-*-* } .-1 } */ 68