blob: 3b6386e0d135b92b6eb0e3d13e091adb273494cc [file] [log] [blame]
// rdar://problem/54581756
// RUN: %empty-directory(%t)
// First set up an app-like target with the same name as a system module. Make
// sure the bridging header has a bunch of extra imports to force the
// SmallVector 'ImportedHeaderExports' in ClangImporter::Implementation to be
// reallocated.
// RUN: %target-swift-frontend -sdk "" -emit-module -o %t -import-objc-header %S/Inputs/bridging-header-reentrancy/App-Bridging-Header.h -I %S/Inputs/bridging-header-reentrancy -module-name CoincidentalNameCollision %S/Inputs/bridging-header-reentrancy/CoincidentalNameCollision.swift
// Then import that app-like target by accident in another target that also has
// a bridging header and a bunch of imports.
// RUN: %target-typecheck-verify-swift -sdk "" -I %t -import-objc-header %S/Inputs/bridging-header-reentrancy/Main-Bridging-Header.h -I %S/Inputs/bridging-header-reentrancy -verify-ignore-unknown
mainBridgingHeaderLoaded() // ok, expected
appBridgingHeaderLoaded() // ok, accidentally loaded
CNCTest() // error, accidentally shadowed
// expected-error@-1 {{cannot find 'CNCTest' in scope}}