diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2004-12-09 14:56:57 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-12-09 14:56:57 -0800 |
commit | 2967685e3add318dbd962a00e78e7c38d303362a (patch) | |
tree | 09d031947943a28c4d4546144035f904e127d4ee | |
parent | d1838621508795fc4929726c5044f7b6da76b70b (diff) | |
download | gcc-2967685e3add318dbd962a00e78e7c38d303362a.zip gcc-2967685e3add318dbd962a00e78e7c38d303362a.tar.gz gcc-2967685e3add318dbd962a00e78e7c38d303362a.tar.bz2 |
Testcase for PR c/18282.
From-SVN: r91979
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-mode-2.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/attr-mode-2.c b/gcc/testsuite/gcc.dg/attr-mode-2.c new file mode 100644 index 0000000..1a02521 --- /dev/null +++ b/gcc/testsuite/gcc.dg/attr-mode-2.c @@ -0,0 +1,22 @@ +/* PR c/18282 */ +/* { dg-do compile } */ +/* { dg-options "" } */ + +typedef int tword __attribute__((mode(word))); + +typedef enum { B1 = 1 } B; +typedef enum { C1 = 1 } C __attribute__ ((mode(QI))); +typedef enum { D1 = 1 } __attribute__ ((mode(word))) D; + +B __attribute__ ((mode (QI))) bqi; +B __attribute__ ((mode (word))) bword; + +int sqi[sizeof (bqi) == 1 ? 1 : -1]; +int sword[sizeof (bword) == sizeof(tword) ? 1 : -1]; +int sc[sizeof (C) == 1 ? 1 : -1]; +int sd[sizeof (D) == sizeof(tword) ? 1 : -1]; + +int aqi[__alignof (bqi) == 1 ? 1 : -1]; +int aword[__alignof (bword) == __alignof(tword) ? 1 : -1]; +int ac[__alignof (C) == 1 ? 1 : -1]; +int ad[__alignof (D) == __alignof(tword) ? 1 : -1]; |