1%A = type { }
2%B = type { %D, %E, %B* }
3
4%D = type { %E }
5%E = type opaque
6
7@g2 = external global %A
8@g3 = external global %B
9
10define void @f1()  {
11  getelementptr %A, %A* null, i32 0
12  ret void
13}
14
15define %A* @use_g2() {
16 ret %A* @g2
17}
18
19define %B* @use_g3() {
20  ret %B* @g3
21}
22