зеркало из https://github.com/microsoft/clang-1.git
support the warn_unused_result in C++ class methods
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
f75b8309e3
Коммит
cb1c77f90d
|
@ -402,6 +402,8 @@ Decl *CallExpr::getCalleeDecl() {
|
|||
Expr *CEE = getCallee()->IgnoreParenCasts();
|
||||
if (DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(CEE))
|
||||
return DRE->getDecl();
|
||||
if (MemberExpr *ME = dyn_cast<MemberExpr>(CEE))
|
||||
return ME->getMemberDecl();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -32,3 +32,14 @@ namespace PR5531 {
|
|||
C();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
struct X {
|
||||
int foo() __attribute__((warn_unused_result));
|
||||
};
|
||||
|
||||
void bah() {
|
||||
X x, *x2;
|
||||
x.foo(); // expected-warning {{ignoring return value of function declared with warn_unused_result attribute}}
|
||||
x2->foo(); // expected-warning {{ignoring return value of function declared with warn_unused_result attribute}}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче