blob: aea9d5496885acd917eac83492facdefbb17f663 [file] [log] [blame]
Chris Lattner005609a2007-09-21 17:48:39 +00001// RUN: %llvmgxx -S -emit-llvm %s -o - | grep llvm.gcroot
2// RUN: %llvmgxx -S -emit-llvm %s -o - | grep llvm.gcroot | count 6
3
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}