summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorRichard Trieu <rtrieu@google.com>2016-08-05 21:02:34 +0000
committerRichard Trieu <rtrieu@google.com>2016-08-05 21:02:34 +0000
commit71d74d4b256709ad9ad3ae6927486e46dfc280c3 (patch)
treea239679552dea5b7d5950c256b158d26f7d1d81b /llvm/tools/llvm-readobj/llvm-readobj.cpp
parentf68a6a720cbea1863afd99b49e04b42e34787f97 (diff)
downloadbcm5719-llvm-71d74d4b256709ad9ad3ae6927486e46dfc280c3.tar.gz
bcm5719-llvm-71d74d4b256709ad9ad3ae6927486e46dfc280c3.zip
Fix false positive in -Wunsequenced and templates.
For builtin logical operators, there is a well-defined ordering of argument evaluation. For overloaded operator of the same type, there is no argument evaluation order, similar to other function calls. When both are present, uninstantiated templates with an operator&& is treated as an unresolved function call. Unresolved function calls are treated as normal function calls, and may result in false positives when the builtin logical operator is used. Have the unsequenced checker ignore dependent expressions to avoid this false positive. The check also happens in template instantiations to catch when the overloaded operator is used. llvm-svn: 277866
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud