blob: 4d32abdf54dff3639cafa8725b58088e329a31e8 [file] [log] [blame]
Devang Patelabad06c2007-10-26 19:42:18 +00001// RUN: clang %s -emit-llvm
2
Devang Patelfe2419a2007-12-11 21:33:16 +00003union u_tag {
Devang Patelabad06c2007-10-26 19:42:18 +00004 int a;
5 float b;
6} u;
7
8void f() {
9 u.b = 11;
10}
11
Devang Patelfe2419a2007-12-11 21:33:16 +000012float get_b(union u_tag *my_u) {
13 return my_u->b;
14}
15
Devang Patelabad06c2007-10-26 19:42:18 +000016int f2( float __x ) {
17 union{
18 float __f;
19 unsigned int __u;
20 }__u;
21 return (int)(__u.__u >> 31);
22}
Seo Sanghyeon2de3b3a2007-12-02 16:57:27 +000023
24typedef union { int i; int *j; } value;
25
26int f3(value v) {
27 return *v.j;
28}