aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorBen Hamilton <benhamilton@google.com>2018-02-02 15:34:33 +0000
committerBen Hamilton <benhamilton@google.com>2018-02-02 15:34:33 +0000
commitb4ab4b631717779e7fc4787b7cbf36b76b32e346 (patch)
treee34c262c5a5ee6232b844c60b7ce92dbc73f48d7 /lldb/packages/Python/lldbsuite/test
parent24656332342583c1222d776b0174fd7f2178d9b7 (diff)
downloadllvm-b4ab4b631717779e7fc4787b7cbf36b76b32e346.zip
llvm-b4ab4b631717779e7fc4787b7cbf36b76b32e346.tar.gz
llvm-b4ab4b631717779e7fc4787b7cbf36b76b32e346.tar.bz2
[clang-tidy] ObjC ARC objects should not trigger performance-unnecessary-value-param
Summary: The following Objective-C code currently incorrectly triggers clang-tidy's performance-unnecessary-value-param check: ``` % cat /tmp/performance-unnecessary-value-param-arc.m void foo(id object) { } clang-tidy /tmp/performance-unnecessary-value-param-arc.m -checks=-\*,performance-unnecessary-value-param -- -xobjective-c -fobjc-abi-version=2 -fobjc-arc 1 warning generated. /src/llvm/tools/clang/tools/extra/test/clang-tidy/performance-unnecessary-value-param-arc.m:10:13: warning: the parameter 'object' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param] void foo(id object) { } ~~ ^ const & ``` This is wrong for a few reasons: 1) Objective-C doesn't have references, so `const &` is not going to help 2) ARC heavily optimizes the "expensive" copy which triggers the warning This fixes the issue by disabling the warning for non-C++, as well as disabling it for objects under ARC memory management for Objective-C++. Fixes https://bugs.llvm.org/show_bug.cgi?id=32075 Test Plan: New tests added. Ran tests with `make -j12 check-clang-tools`. Reviewers: alexfh, hokein Reviewed By: hokein Subscribers: stephanemoore, klimek, xazax.hun, cfe-commits, Wizard Differential Revision: https://reviews.llvm.org/D42812 llvm-svn: 324097
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions