зеркало из https://github.com/microsoft/clang-1.git
Assume statement expressions have side effects; this gets rid of a lot
of extra warnings in the Python source. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51594 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
a1d642db81
Коммит
211f6adf13
|
@ -319,14 +319,17 @@ bool Expr::hasLocalSideEffect() const {
|
||||||
// If the base pointer or element is to a volatile pointer/field, accessing
|
// If the base pointer or element is to a volatile pointer/field, accessing
|
||||||
// if is a side effect.
|
// if is a side effect.
|
||||||
return getType().isVolatileQualified();
|
return getType().isVolatileQualified();
|
||||||
|
|
||||||
case CallExprClass:
|
case CallExprClass:
|
||||||
// TODO: check attributes for pure/const. "void foo() { strlen("bar"); }"
|
// TODO: check attributes for pure/const. "void foo() { strlen("bar"); }"
|
||||||
// should warn.
|
// should warn.
|
||||||
return true;
|
return true;
|
||||||
case ObjCMessageExprClass:
|
case ObjCMessageExprClass:
|
||||||
return true;
|
return true;
|
||||||
|
case StmtExprClass:
|
||||||
|
// TODO: check the inside of the statement expression
|
||||||
|
return true;
|
||||||
|
|
||||||
case CastExprClass:
|
case CastExprClass:
|
||||||
// If this is a cast to void, check the operand. Otherwise, the result of
|
// If this is a cast to void, check the operand. Otherwise, the result of
|
||||||
// the cast is unused.
|
// the cast is unused.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче