Built libdispatch with clang interface stubs. Ran into some block related issues. Basically VarDecl symbols can leak out because I wasn't checking the case where a VarDecl is contained inside a BlockDecl (versus a method or function). This patch checks that a VarDecl is not a child decl of a BlockDecl. This patch also does something very similar for c++ lambdas as well. Differential Revision: https://reviews.llvm.org/D71301
11 lines
319 B
C++
11 lines
319 B
C++
// RUN: %clang_cc1 -emit-interface-stubs -o - %s | FileCheck %s
|
|
|
|
// CHECK: --- !experimental-ifs-v1
|
|
// CHECK-NEXT: IfsVersion: 1.0
|
|
// CHECK-NEXT: Triple:
|
|
// CHECK-NEXT: ObjectFileFormat: ELF
|
|
// CHECK-NEXT: Symbols:
|
|
// CHECK-NEXT: "f" : { Type: Object, Size: 1 }
|
|
// CHECK-NEXT: ...
|
|
auto f = [](void* data) { int i; };
|