summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorHubert Tong <hubert.reinterpretcast@gmail.com>2015-09-01 22:50:31 +0000
committerHubert Tong <hubert.reinterpretcast@gmail.com>2015-09-01 22:50:31 +0000
commit2cded44d82d7c6e9221419b7014a6d9053c69cf3 (patch)
treec8a5ad3dfc17b3ca13b3343e005ee4941e827e21 /clang/lib/Sema/TreeTransform.h
parent9772c6342e536188529df8c46843b397dc85d671 (diff)
downloadbcm5719-llvm-2cded44d82d7c6e9221419b7014a6d9053c69cf3.tar.gz
bcm5719-llvm-2cded44d82d7c6e9221419b7014a6d9053c69cf3.zip
Fix assertion failure in TransformOpaqueValueExpr
Summary: `OpaqueValueExpr`s may not have a source expression (as in the case when they are created due to a default argument error). This can cause an assertion failure in `TransformOpaqueValueExpr` during template instantiation. This patch fixes the assertion failure. Reviewers: hfinkel, rsmith Subscribers: fraggamuffin, cfe-commits Differential Revision: http://reviews.llvm.org/D11582 Patch by Rachel Craik! llvm-svn: 246600
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index 9074c39ad5d..692a2f1dcb4 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -7806,7 +7806,7 @@ TreeTransform<Derived>::TransformOffsetOfExpr(OffsetOfExpr *E) {
template<typename Derived>
ExprResult
TreeTransform<Derived>::TransformOpaqueValueExpr(OpaqueValueExpr *E) {
- assert(getDerived().AlreadyTransformed(E->getType()) &&
+ assert((!E->getSourceExpr() || getDerived().AlreadyTransformed(E->getType())) &&
"opaque value expression requires transformation");
return E;
}
OpenPOWER on IntegriCloud