bulbazord added a comment.
In D121748#3384357 <https://reviews.llvm.org/D121748#3384357>, @arphaman wrote:
> Is there a Swift-based test case you have that demonstrates the original
> problem from Swift's clang importer side? I'm curious to see where it
> manifests in Swift.
% cat Test.h
@protocol Foo
@end
@interface Foo <Foo>
@end
% cat test.swift
import Test
public protocol Thing: FooProtocol {
}
% cat module.modulemap
module Test [extern_c] {
header "Test.h"
}
% $SWIFT_BUILD_DIR/bin/swiftc -frontend -c -enable-cxx-interop
-enable-objc-interop -sdk
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/
-I. -o /tmp/foo.o test.swift
test.swift:3:24: error: cannot find type 'FooProtocol' in scope
public protocol Thing: FooProtocol {
^~~~~~~~~~~
There's a call to `Sema::LookupName` that fails for the reason I outlined in
the description when building the `SwiftLookupTable` during PCM creation time.
The renaming of `@protocol Foo` to `protocol FooProtocol` doesn't occur because
it thinks there is no naming conflict.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D121748/new/
https://reviews.llvm.org/D121748
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits