1*a5ddd3caSGeorge Karpenkov@interface I
2*a5ddd3caSGeorge Karpenkov- (int)func;
3*a5ddd3caSGeorge Karpenkov@end
4*a5ddd3caSGeorge Karpenkov
5*a5ddd3caSGeorge Karpenkov@implementation I
6*a5ddd3caSGeorge Karpenkov- (int)func:(int *)param {
7*a5ddd3caSGeorge Karpenkov  return *param;
8*a5ddd3caSGeorge Karpenkov}
9*a5ddd3caSGeorge Karpenkov@end
10*a5ddd3caSGeorge Karpenkov
11*a5ddd3caSGeorge Karpenkovvoid foo(I *i) {
12*a5ddd3caSGeorge Karpenkov  int *x = 0;
13*a5ddd3caSGeorge Karpenkov  [i func:x];
14*a5ddd3caSGeorge Karpenkov}
15*a5ddd3caSGeorge Karpenkov
16*a5ddd3caSGeorge Karpenkov// RUN: rm -rf %t.output
17*a5ddd3caSGeorge Karpenkov// RUN: %clang_analyze_cc1 -analyze -analyzer-checker=core -analyzer-output html -o %t.output -Wno-objc-root-class %s
18*a5ddd3caSGeorge Karpenkov// RUN: cat %t.output/* | FileCheck %s
19*a5ddd3caSGeorge Karpenkov// CHECK: var relevant_lines = {"1": {"6": 1, "7": 1, "11": 1, "12": 1, "13": 1}};
20