-; RUN: llvm-upgrade < %s > /dev/null
-; PR1187
-
-%mystruct = type { int, double }
-%glob = global %mystruct { int 3, double 42.0 }
-%fptr = external global void (i32)*
-
-implementation
-
-csretcc void %nada(%mystruct * %ptr, int %val) {
- ret void
-}
-
-int %main(int %argc, ubyte** %argv) {
- %astr = alloca %mystruct
- call void %nada(%mystruct* %astr, i32 7)
- %fptr = alloca void (%mystruct*, i32)*
- %f = load void (%mystruct*, i32)**%fptr
- call csretcc void %f(%mystruct* %astr, i32 7)
- store void (%mystruct* , i32)* %nada, void (%mystruct*, i32)** %fptr
-
- ret int 0
-}