Merge pull request #2391 from jbj/CompareWhereAssignMeant-decltype

C++: Fix FP for expression SFINAE with decltype
This commit is contained in:
Geoffrey White
2019-11-20 17:34:09 +00:00
committed by GitHub
3 changed files with 13 additions and 3 deletions

View File

@@ -15,7 +15,10 @@ import cpp
from ExprInVoidContext op
where
op instanceof EQExpr
or
op.(FunctionCall).getTarget().hasName("operator==")
not op.isUnevaluated() and
(
op instanceof EQExpr
or
op.(FunctionCall).getTarget().hasName("operator==")
)
select op, "This '==' operator has no effect. The assignment ('=') operator was probably intended."

View File

@@ -86,6 +86,7 @@ where
not peivc.isFromTemplateInstantiation(_) and
parent = peivc.getParent() and
not parent.isInMacroExpansion() and
not peivc.isUnevaluated() and
not parent instanceof PureExprInVoidContext and
not peivc.getEnclosingFunction().isCompilerGenerated() and
not peivc.getType() instanceof UnknownType and