summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20050107-1.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-07 20:05:14 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-07 20:05:14 +0000
commit7948df32e1a6725b2a8b0c32b1de7167d4190400 (patch)
tree57a2412ddbafbe7c78a634ebf6e0b4c623253827 /gcc/testsuite/gcc.c-torture/execute/20050107-1.c
parent4d29239659e70a19e6b6d699da1ec22238392ecc (diff)
downloadgcc-7948df32e1a6725b2a8b0c32b1de7167d4190400.tar.gz
* c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
TYPE_MODE. * gcc.c-torture/execute/20050107-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93066 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20050107-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20050107-1.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20050107-1.c b/gcc/testsuite/gcc.c-torture/execute/20050107-1.c
new file mode 100644
index 00000000000..903c54a25e6
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20050107-1.c
@@ -0,0 +1,25 @@
+typedef enum { C = 1, D = 2 } B;
+extern void abort (void);
+
+struct S
+{
+ B __attribute__ ((mode (byte))) a;
+ B __attribute__ ((mode (byte))) b;
+};
+
+void
+foo (struct S *x)
+{
+ if (x->a != C || x->b != D)
+ abort ();
+}
+
+int
+main (void)
+{
+ struct S s;
+ s.a = C;
+ s.b = D;
+ foo (&s);
+ return 0;
+}