forked from OSchip/llvm-project
[Frontend] Treat function with skipped body as definition
Summary: This fixes an invalid warning about missing definition of a function when parsing with SkipFunctionBodies=true Reviewers: bkramer, sepavloff Reviewed By: sepavloff Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D41189 llvm-svn: 320696
This commit is contained in:
parent
a2d4607a4b
commit
bf484aa0f1
|
@ -1967,8 +1967,8 @@ public:
|
|||
/// This does not determine whether the function has been defined (e.g., in a
|
||||
/// previous definition); for that information, use isDefined.
|
||||
bool isThisDeclarationADefinition() const {
|
||||
return IsDeleted || IsDefaulted || Body || IsLateTemplateParsed ||
|
||||
WillHaveBody || hasDefiningAttr();
|
||||
return IsDeleted || IsDefaulted || Body || HasSkippedBody ||
|
||||
IsLateTemplateParsed || WillHaveBody || hasDefiningAttr();
|
||||
}
|
||||
|
||||
/// doesThisDeclarationHaveABody - Returns whether this specific
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// RUN: env CINDEXTEST_SKIP_FUNCTION_BODIES=1 c-index-test -test-load-source all %s 2>&1 \
|
||||
// RUN: | FileCheck %s
|
||||
|
||||
inline int with_body() { return 10; }
|
||||
inline int without_body();
|
||||
|
||||
int x = with_body() + without_body();
|
||||
// CHECK: warning: inline function 'without_body' is not defined
|
||||
// CHECK-NOT: warning: inline function 'with_body' is not defined
|
Loading…
Reference in New Issue