diff options
author | Saar Raz <saar@raz.email> | 2020-01-18 09:11:43 +0200 |
---|---|---|
committer | Saar Raz <saar@raz.email> | 2020-01-19 00:23:26 +0200 |
commit | a0f50d731639350c7a79f140f026c27a18215531 (patch) | |
tree | 61547f504b4e459c0000aac43e9fb77551e120f8 /clang/lib/Sema/Sema.cpp | |
parent | ed9cc6404e7fc509096b30c8d8e9dc28d531c718 (diff) | |
download | llvm-a0f50d731639350c7a79f140f026c27a18215531.zip llvm-a0f50d731639350c7a79f140f026c27a18215531.tar.gz llvm-a0f50d731639350c7a79f140f026c27a18215531.tar.bz2 |
[Concepts] Requires Expressions
Implement support for C++2a requires-expressions.
Re-commit after compilation failure on some platforms due to alignment issues with PointerIntPair.
Differential Revision: https://reviews.llvm.org/D50360
Diffstat (limited to 'clang/lib/Sema/Sema.cpp')
-rw-r--r-- | clang/lib/Sema/Sema.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 2cd158a..f8da1cb 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -1261,7 +1261,8 @@ DeclContext *Sema::getFunctionLevelDeclContext() { DeclContext *DC = CurContext; while (true) { - if (isa<BlockDecl>(DC) || isa<EnumDecl>(DC) || isa<CapturedDecl>(DC)) { + if (isa<BlockDecl>(DC) || isa<EnumDecl>(DC) || isa<CapturedDecl>(DC) || + isa<RequiresExprBodyDecl>(DC)) { DC = DC->getParent(); } else if (isa<CXXMethodDecl>(DC) && cast<CXXMethodDecl>(DC)->getOverloadedOperator() == OO_Call && |