xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/2007-09-27-ComplexIntCompare.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -emit-llvm %s -o -
2*f4a2713aSLionel Sambuc // PR1708
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc void __attribute__((noreturn)) abort(void);
5*f4a2713aSLionel Sambuc 
6*f4a2713aSLionel Sambuc struct s { _Complex unsigned short x; };
7*f4a2713aSLionel Sambuc struct s gs = { 100 + 200i };
foo(void)8*f4a2713aSLionel Sambuc struct s __attribute__((noinline)) foo (void) { return gs; }
9*f4a2713aSLionel Sambuc 
main()10*f4a2713aSLionel Sambuc int main ()
11*f4a2713aSLionel Sambuc {
12*f4a2713aSLionel Sambuc   if (foo ().x != gs.x)
13*f4a2713aSLionel Sambuc     abort ();
14*f4a2713aSLionel Sambuc   exit (0);
15*f4a2713aSLionel Sambuc }
16