summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-12-06 18:59:10 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-12-06 18:59:10 +0000
commit1eb71a1ba7b627ef50ac6b179676815237ac6a19 (patch)
treea702e6fd29b6be644ea21ea07ffefb18cf389daa /clang/lib/Sema/SemaDecl.cpp
parentb10aae3feca8ed68e7210f496914b4a69f105095 (diff)
downloadbcm5719-llvm-1eb71a1ba7b627ef50ac6b179676815237ac6a19.tar.gz
bcm5719-llvm-1eb71a1ba7b627ef50ac6b179676815237ac6a19.zip
Add a bit on FunctionDecl/ObjCMethodDecl to indicate if there was a body
that was skipped by the parser. llvm-svn: 169531
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 102a6ae9a23..9dd77795379 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -8016,6 +8016,14 @@ bool Sema::canSkipFunctionBody(Decl *D) {
return !FD->isConstexpr();
}
+Decl *Sema::ActOnSkippedFunctionBody(Decl *Decl) {
+ if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Decl))
+ FD->setHasSkippedBody();
+ else if (ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(Decl))
+ MD->setHasSkippedBody();
+ return ActOnFinishFunctionBody(Decl, 0);
+}
+
Decl *Sema::ActOnFinishFunctionBody(Decl *D, Stmt *BodyArg) {
return ActOnFinishFunctionBody(D, BodyArg, false);
}
OpenPOWER on IntegriCloud