summaryrefslogtreecommitdiffstats
path: root/test/Assembler
diff options
context:
space:
mode:
Diffstat (limited to 'test/Assembler')
-rw-r--r--test/Assembler/2007-02-07-UpgradeCSRETCC.ll21
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
+}