1 | // RUN: clang-tidy %s -checks=-*,performance-unnecessary-value-param -- \ |
2 | // RUN: -xobjective-c++ -fobjc-abi-version=2 -fobjc-arc | count 0 |
3 | |
4 | #if !__has_feature(objc_arc) |
5 | #error Objective-C ARC not enabled as expected |
6 | #endif |
7 | |
8 | // Passing an Objective-C ARC-managed object to a C function should |
9 | // not raise performance-unnecessary-value-param. |
10 | void foo(id object) { } |
11 | |
12 | // Same for explicitly non-ARC-managed Objective-C objects. |
13 | void bar(__unsafe_unretained id object) { } |
14 | |
15 | // Same for Objective-c classes. |
16 | void baz(Class c) { } |
17 | |