mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The macro tests were all using "REQUIRES: OS=macosx" as a proxy for "have the Swift Swift parser". There was an existing feature for this, but it was just checking whether the path was passed through. Fix that to use the same variable as in CMake. Also remove all extraneous `-I` and `-L` to the host libs in the target invocations.
27 lines
977 B
Swift
27 lines
977 B
Swift
// REQUIRES: swift_swift_parser
|
|
|
|
// RUN: %empty-directory(%t)
|
|
// RUN: %host-build-swift -swift-version 5 -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
|
|
|
|
// Make sure we see the conformances from another file.
|
|
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -module-name MacroUser -swift-version 5 -primary-file %S/Inputs/macro_expand_conformances_other.swift -DDISABLE_TOP_LEVEL_CODE
|
|
|
|
@attached(conformance)
|
|
macro Equatable() = #externalMacro(module: "MacroDefinition", type: "EquatableMacro")
|
|
|
|
@attached(conformance)
|
|
macro Hashable() = #externalMacro(module: "MacroDefinition", type: "HashableMacro")
|
|
|
|
func requireEquatable(_ value: some Equatable) -> Int {
|
|
print(value == value)
|
|
return 0
|
|
}
|
|
|
|
func requireHashable(_ value: some Hashable) {
|
|
print(value.hashValue)
|
|
}
|
|
|
|
@Equatable
|
|
struct S {}
|
|
|