diff options
Diffstat (limited to 'test/Assembler')
-rw-r--r-- | test/Assembler/2007-02-07-UpgradeCSRETCC.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Assembler/2007-02-07-UpgradeCSRETCC.ll b/test/Assembler/2007-02-07-UpgradeCSRETCC.ll new file mode 100644 index 0000000..85ad246 --- /dev/null +++ b/test/Assembler/2007-02-07-UpgradeCSRETCC.ll @@ -0,0 +1,21 @@ +; For PR1187 +; RUN: llvm-upgrade < %s > /dev/null + +%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) + ret int 0 +} |