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 } */ 65