summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode
diff options
context:
space:
mode:
authorJoseph Tremoulet <jotrem@microsoft.com>2016-01-10 04:28:38 +0000
committerJoseph Tremoulet <jotrem@microsoft.com>2016-01-10 04:28:38 +0000
commite28885e6936fc5487c9e11cda841282d2f43c9d1 (patch)
treeaed0a61d8bcf0063bd4a529d7be2338b6ae3be74 /llvm/test/Bitcode
parentca4d93a82fd77b1baadc7f604cd97ed0bafcb717 (diff)
downloadbcm5719-llvm-e28885e6936fc5487c9e11cda841282d2f43c9d1.tar.gz
bcm5719-llvm-e28885e6936fc5487c9e11cda841282d2f43c9d1.zip
[WinEH] Verify unwind edges against EH pad tree
Summary: Funclet EH personalities require a tree-like nesting among funclets (enforced by the ParentPad linkage in the IR), and also require that unwind edges conform to certain rules with respect to the tree: - An unwind edge may exit 0 or more ancestor pads - An unwind edge must enter exactly one EH pad, which must be distinct from any exited pads - A cleanupret's edge must exit its cleanuppad Describe these rules in the LangRef, and enforce them in the verifier. Reviewers: rnk, majnemer, andrew.w.kaylor Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15961 llvm-svn: 257272
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r--llvm/test/Bitcode/compatibility.ll3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/test/Bitcode/compatibility.ll b/llvm/test/Bitcode/compatibility.ll
index 34c4a073b54..ae12a24ede4 100644
--- a/llvm/test/Bitcode/compatibility.ll
+++ b/llvm/test/Bitcode/compatibility.ll
@@ -885,7 +885,8 @@ catchpad:
; CHECK-NEXT: br label %body
body:
- invoke void @f.ccc() to label %continue unwind label %terminate.inner
+ invoke void @f.ccc() [ "funclet"(token %catch) ]
+ to label %continue unwind label %terminate.inner
catchret from %catch to label %return
; CHECK: catchret from %catch to label %return
OpenPOWER on IntegriCloud