Skip to content

Commit e977a21

Browse files
authored
Merge pull request #58937 from plotfi/availability-cxx-interop-renamed
[cxx-interop] Pass clangSema.TUScope when calling LookupName for availability
2 parents 20db6c9 + d2051be commit e977a21

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

lib/ClangImporter/ImportDecl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8688,7 +8688,7 @@ getSwiftNameFromClangName(StringRef replacement) {
86888688
clang::LookupResult lookupResult(clangSema, identifier,
86898689
clang::SourceLocation(),
86908690
clang::Sema::LookupOrdinaryName);
8691-
if (!clangSema.LookupName(lookupResult, nullptr))
8691+
if (!clangSema.LookupName(lookupResult, clangSema.TUScope))
86928692
return "";
86938693

86948694
auto clangDecl = lookupResult.getAsSingle<clang::NamedDecl>();
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
typedef char* NSString;
2+
3+
typedef NSString *NSValueTransformerName __attribute__((swift_wrapper(struct)));
4+
5+
extern "C" NSValueTransformerName const NSUnarchiveFromDataTransformerName
6+
__attribute__((availability(macos,introduced=10.3,deprecated=10.14,replacement="NSSecureUnarchiveFromDataTransformerName")))
7+
__attribute__((availability(ios,introduced=3.0,deprecated=12.0,replacement="NSSecureUnarchiveFromDataTransformerName")))
8+
__attribute__((availability(watchos,introduced=2.0,deprecated=5.0,replacement="NSSecureUnarchiveFromDataTransformerName")))
9+
__attribute__((availability(tvos,introduced=9.0,deprecated=12.0,replacement="NSSecureUnarchiveFromDataTransformerName")));
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module SomeModule [extern_c] {
2+
requires objc
3+
header "SomeModule.h"
4+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// RUN: %target-swift-ide-test -print-module -module-to-print=SomeModule -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop -enable-objc-interop | %FileCheck %s
2+
3+
import SomeModule
4+
5+
// CHECK: @available(swift, obsoleted: 3, renamed: "NSValueTransformerName.unarchiveFromDataTransformerName")

0 commit comments

Comments
 (0)