aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-04-27 06:56:53 +0000
committerDuncan Sands <baldrick@free.fr>2007-04-27 06:56:53 +0000
commitc88725fe21ca0cd2f0de28458b0ae333dd4317d6 (patch)
tree3432f4499f958ef08ab864d82f749dc3f434bcd5 /test
parent99f9a77c496e8dc65fa7d9f693de9bec9aa574e5 (diff)
downloadexternal_llvm-c88725fe21ca0cd2f0de28458b0ae333dd4317d6.zip
external_llvm-c88725fe21ca0cd2f0de28458b0ae333dd4317d6.tar.gz
external_llvm-c88725fe21ca0cd2f0de28458b0ae333dd4317d6.tar.bz2
Test that eh_selector lowering accepts global variables as well as bitcasts
of global variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36500 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/Generic/2007-04-14-EHSelectorCrash.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/Generic/2007-04-14-EHSelectorCrash.ll b/test/CodeGen/Generic/2007-04-14-EHSelectorCrash.ll
new file mode 100644
index 0000000..4f4d4f0
--- /dev/null
+++ b/test/CodeGen/Generic/2007-04-14-EHSelectorCrash.ll
@@ -0,0 +1,14 @@
+; RUN: llvm-as < %s | llc -enable-eh
+
+; ModuleID = '2007-04-14-EHSelectorCrash.bc'
+@__gnat_others_value = external constant i32 ; <i32*> [#uses=1]
+
+define void @_ada_eh() {
+entry:
+ %eh_select = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector( i8* null, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32* @__gnat_others_value ) ; <i32> [#uses=0]
+ ret void
+}
+
+declare i32 @llvm.eh.selector(i8*, i8*, ...)
+
+declare i32 @__gnat_eh_personality(...)