diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/union1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/union1.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/union1.C b/gcc/testsuite/g++.old-deja/g++.law/union1.C new file mode 100644 index 000000000..9d700499d --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/union1.C @@ -0,0 +1,29 @@ +// { dg-do assemble } +// GROUPS passed unions +// anon-union file +// From: "Terry R. Coley" <terry@wag.caltech.edu> +// Date: Tue, 25 Aug 1992 17:33:29 -0700 +// Subject: possible bug in gcc/g++ +// Message-ID: <199208260033.AA19417@brahms.wag.caltech.edu> + +typedef enum { BADBINOP = 0, PLUS, MINUS, MULT, DIV, POWR } binoptype; +typedef enum { BADUNOP = 0, NEG = POWR+1, SIN, COS, TAN } unoptype; + +typedef struct { + const char *s; + union { + binoptype bop; + unoptype uop; + }; +} +op_to_charp; + +op_to_charp BINOPS[] = { {"+", PLUS}, + {"-", MINUS}, + {"*", MULT}, + {"/", DIV}, + {"^", POWR} }; + +int main() { + int dummy; +} |