| %A = type { } | |
| %B = type { %D, %E, %B* } | |
| %D = type { %E } | |
| %E = type opaque | |
| @g2 = external global %A | |
| @g3 = external global %B | |
| define void @f1() { | |
| getelementptr %A, %A* null, i32 0 | |
| ret void | |
| } | |
| define %A* @use_g2() { | |
| ret %A* @g2 | |
| } | |
| define %B* @use_g3() { | |
| ret %B* @g3 | |
| } |