aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Feature/undefined.ll15
-rw-r--r--test/Feature/unreachable.ll13
2 files changed, 28 insertions, 0 deletions
diff --git a/test/Feature/undefined.ll b/test/Feature/undefined.ll
new file mode 100644
index 0000000000..a71b906dcc
--- /dev/null
+++ b/test/Feature/undefined.ll
@@ -0,0 +1,15 @@
+
+%X = global int undef
+
+implementation
+
+declare int "atoi"(sbyte *)
+
+int %test() {
+ ret int undef
+}
+
+int %test2() {
+ %X = add int undef, 1
+ ret int %X
+}
diff --git a/test/Feature/unreachable.ll b/test/Feature/unreachable.ll
new file mode 100644
index 0000000000..84c4552a62
--- /dev/null
+++ b/test/Feature/unreachable.ll
@@ -0,0 +1,13 @@
+
+implementation
+
+declare void %bar()
+
+int %foo() { ;; Calling this function has undefined behavior
+ unreachable
+}
+
+double %xyz() {
+ call void %bar()
+ unreachable ;; Bar must not return.
+}