/* Check that ACCs and ACCGs are treated as global variables even if media.h isn't included. */ /* { dg-do run } */ extern void abort (void); extern void exit (int); void set () { #define SET(X) __MWTACC (X, (X) | 0x100), __MWTACCG (X, X) SET (0); SET (1); SET (2); SET (3); #if defined (__CPU_FR450__) SET (8); SET (9); SET (10); SET (11); #elif __FRV_ACC__ > 4 SET (4); SET (5); SET (6); SET (7); #endif #undef SET } void check () { int diff1, diff2; diff1 = diff2 = 0; #define CHECK(X) \ (diff1 |= (__MRDACC (X) ^ (X | 0x100)), \ diff2 |= (__MRDACCG (X) ^ X)) CHECK (0); CHECK (1); CHECK (2); CHECK (3); #if defined (__CPU_FR450__) CHECK (8); CHECK (9); CHECK (10); CHECK (11); #elif __FRV_ACC__ > 4 CHECK (4); CHECK (5); CHECK (6); CHECK (7); #endif #undef CHECK if ((diff1 | diff2) != 0) abort (); } int main () { set (); check (); exit (0); }