dmd/compiler/test/unit/triple.d
Johan Engelen b5130fd880 Fix bugzilla issue 24623 followup.
Rename CppRuntime to _LLVM and _GNU
Also accept c++ for cxx in target string.
2024-06-30 13:45:31 +02:00

66 lines
1.7 KiB
D

// See ../README.md for information about DMD unit tests.
module triple;
import support : afterEach, defaultImportPaths;
import dmd.target;
import dmd.dmdparams;
@afterEach deinitializeFrontend()
{
import dmd.frontend : deinitializeDMD;
deinitializeDMD();
}
@("-target=x86-unknown-windows-msvc")
unittest
{
auto triple = Triple("x86-unknown-windows-msvc");
assert(triple.os == Target.OS.Windows);
assert(triple.isX86_64 == false);
assert(triple.cenv == TargetC.Runtime.Microsoft);
}
@("-target=x64-apple-darwin20.3.0")
unittest
{
auto triple = Triple("x64-apple-darwin20.3.0");
assert(triple.os == Target.OS.OSX);
assert(triple.isX86_64 == true);
}
@("-target=x86_64+avx2-apple-darwin20.3.0")
unittest
{
auto triple = Triple("x86_64+avx2-apple-darwin20.3.0");
assert(triple.os == Target.OS.OSX);
assert(triple.isX86_64 == true);
assert(triple.cpu == CPU.avx2);
}
@("-target=x86_64-unknown-linux-musl-libcxx")
unittest
{
auto triple = Triple("x86_64-unknown-linux-musl-libcxx");
assert(triple.isX86_64 == true);
assert(triple.os == Target.OS.linux);
assert(triple.cenv == TargetC.Runtime.Musl);
assert(triple.cppenv == TargetCPP.Runtime.LLVM);
}
@("-target=x86_64-unknown-linux-musl-libc++")
unittest
{
auto triple = Triple("x86_64-unknown-linux-musl-libc++");
assert(triple.isX86_64 == true);
assert(triple.os == Target.OS.linux);
assert(triple.cenv == TargetC.Runtime.Musl);
assert(triple.cppenv == TargetCPP.Runtime.LLVM);
}
@("-target=x86_64-freebsd12")
unittest
{
auto triple = Triple("x86_64-freebsd12");
assert(triple.os == Target.OS.FreeBSD);
assert(triple.osMajor == 12);
}