Commit Graph

6 Commits

Author SHA1 Message Date
Becca Royal-Gordon
fd84e7273d Rename module.map -> module.modulemap in tests
The legacy `module.map` spelling of module map files was deprecated by llvm/llvm-project#75142 and clang expects to remove support for them in the future. Switch all tests to use the supported spelling.

Fixes rdar://128431478.
2024-08-12 17:47:26 -07:00
Michael Spencer
b2640e15e4 [test] Rename all module.map files to module.modulemap
`module.map` as a module map name has been discouraged since 2014, and
Clang will soon warn on its usage. This patch renames all instances of
`module.map` in the Swift tests to `module.modulemap` in preparation
for this change to Clang.

rdar://106123303
2023-08-21 15:58:59 -07:00
Jordan Rose
480ac06c95 [test] Tweak resolve-cross-language.swift to avoid a Clang bug (#18406)
We don't really care about modules without `export *`, but I filed
https://bugs.llvm.org/show_bug.cgi?id=38392 anyway.

rdar://problem/42570029
2018-07-31 13:31:14 -07:00
Jordan Rose
e6a85f6602 [ClangImporter] Resolve forward declarations before importing names. (#7555)
This allows a previously-working case of Objective-C forward-declaring
a type in a /different/ Swift module to continue working, as long as
the Swift context being compiled manages to import the other module
properly (including its generated header). This isn't really our
recommended pattern---that would be to @import the module in the
bridging header and forego the forward declaration---but it doesn't
cost much to keep it working. It's also a place where textual and
precompiled bridging headers behaved differently, because precompiled
ones are processed much earlier.

https://bugs.swift.org/browse/SR-3798
2017-02-20 13:24:03 -08:00
Jordan Rose
b5e4e8aaea [ClangImporter] Not all protocols adopted in ObjC come from ObjC. (#6320)
So when sorting, don't just jump directly to the Clang decl and get
its name, because there might not be a Clang decl; instead, use the
'objc' attribute if there is one and the protocol's base name if
not. We're not using ProtocolType::compareProtocols because we'd
rather not depend on knowing for sure which Clang module a protocol
lives in.

This wasn't caught until now because it required adopting a protocol
in Objective-C that itself adopted (directly or indirectly) at least
two protocols, at least one of which originally came from Swift.

rdar://problem/26232085
2016-12-15 18:28:11 -08:00
Jordan Rose
61798ff6ec [test] Rename test/ClangModules to test/ClangImporter. (#5618)
...to match the component in include/ and lib/. No content change.
2016-11-02 18:00:53 -07:00