mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Swift calls the architecture x86_64, OpenBSD calls it amd64. If we use run_cpu in lit.cfg as-is, then we may need to duplicate lines in each test for 'x86_64' and 'amd64', which puts a maintenance burden on unit test developers to ensure they are duplicating changes to each line. Instead, alias 'amd64' to 'x86_64' for `run_cpu`, but keep the platform module path referring to 'amd64', in order to distinguish the target architecture name and the Swift architecture name. This is particularly relevant for the %target-.*-name pseudovariables used, which should reference the Swift architecture names. However, some unit tests are directly referencing %target-cpu directly, which would break the aliasing. This is done only for swiftinterface files, so a new substitution is defined in lit.cfg for these variables, and the affected unit test cases are migrated.
29 lines
1.4 KiB
Swift
29 lines
1.4 KiB
Swift
// RUN: %empty-directory(%t)
|
|
|
|
// Tests that we prefer the normalized target triple name for a .swiftmodule,
|
|
// but fall back to the legacy architecture name if necessary.
|
|
|
|
// RUN: mkdir %t/TargetLibrary.swiftmodule
|
|
// RUN: %target-swift-frontend -emit-module -o %t/TargetLibrary.swiftmodule/%module-target-triple.swiftmodule %S/Inputs/def_func.swift -module-name TargetLibrary
|
|
// RUN: touch %t/TargetLibrary.swiftmodule/%target-swiftmodule-name
|
|
|
|
import TargetLibrary
|
|
|
|
// RUN: mkdir %t/ArchLibrary.swiftmodule
|
|
// RUN: %target-swift-frontend -emit-module -o %t/ArchLibrary.swiftmodule/%target-swiftmodule-name %S/Inputs/def_func.swift -module-name ArchLibrary
|
|
|
|
import ArchLibrary
|
|
|
|
// RUN: mkdir -p %t/TargetModule.framework/Modules/TargetModule.swiftmodule
|
|
// RUN: %target-swift-frontend -emit-module -o %t/TargetModule.framework/Modules/TargetModule.swiftmodule/%module-target-triple.swiftmodule %S/Inputs/def_func.swift -module-name TargetModule
|
|
// RUN: touch %t/TargetModule.framework/Modules/TargetModule.swiftmodule/%target-swiftmodule-name
|
|
|
|
import TargetModule
|
|
|
|
// RUN: mkdir -p %t/ArchModule.framework/Modules/ArchModule.swiftmodule
|
|
// RUN: %target-swift-frontend -emit-module -o %t/ArchModule.framework/Modules/ArchModule.swiftmodule/%target-swiftmodule-name %S/Inputs/def_func.swift -module-name ArchModule
|
|
|
|
import ArchModule
|
|
|
|
// RUN: %target-swift-frontend %s -typecheck -I %t -F %t
|