blob: 621d1353bbabae033889d6b32409aba90c3773ba [file] [log] [blame]
Duncan Sandsac656612007-09-26 07:28:20 +00001// RUN: %llvmgcc -S -emit-llvm %s -o - | grep llvm.gcroot
2// RUN: %llvmgcc -S -emit-llvm %s -o - | grep llvm.gcroot | count 6
Chris Lattner005609a2007-09-21 17:48:39 +00003
4typedef struct foo_s
5{
6 int a;
7} foo, __attribute__ ((gcroot)) *foo_p;
8
9foo my_foo;
10
11int alpha ()
12{
13 foo my_foo2 = my_foo;
14
15 return my_foo2.a;
16}
17
18int bar (foo a)
19{
20 foo_p b;
21 return b->a;
22}
23
24foo_p baz (foo_p a, foo_p b, foo_p *c)
25{
26 a = b = *c;
27 return a;
28}