diff --git a/lib/Basic/LangOptions.cpp b/lib/Basic/LangOptions.cpp index 19efc6356c370..ae2bba6b0d8c6 100644 --- a/lib/Basic/LangOptions.cpp +++ b/lib/Basic/LangOptions.cpp @@ -35,6 +35,7 @@ static const StringRef SupportedConditionalCompilationOSs[] = { "Windows", "Android", "PS4", + "Cygwin" }; static const StringRef SupportedConditionalCompilationArches[] = { @@ -154,6 +155,8 @@ std::pair LangOptions::setTarget(llvm::Triple triple) { addPlatformConditionValue("os", "Linux"); else if (triple.isOSFreeBSD()) addPlatformConditionValue("os", "FreeBSD"); + else if (triple.isWindowsCygwinEnvironment()) + addPlatformConditionValue("os", "Cygwin"); else if (triple.isOSWindows()) addPlatformConditionValue("os", "Windows"); else if (triple.isPS4()) diff --git a/test/Parse/ConditionalCompilation/x64CygwinTarget.swift b/test/Parse/ConditionalCompilation/x64CygwinTarget.swift new file mode 100644 index 0000000000000..a5ac4ce055cb5 --- /dev/null +++ b/test/Parse/ConditionalCompilation/x64CygwinTarget.swift @@ -0,0 +1,8 @@ +// RUN: %swift -parse %s -verify -D FOO -D BAR -target x86_64-unknown-windows-cygnus -disable-objc-interop -D FOO -parse-stdlib +// RUN: %swift-ide-test -test-input-complete -source-filename=%s -target x86_64-unknown-windows-cygnus + +#if arch(x86_64) && os(Cygwin) && _runtime(_Native) +class C {} +var x = C() +#endif +var y = x diff --git a/test/Parse/ConditionalCompilation/x64WindowsTarget.swift b/test/Parse/ConditionalCompilation/x64WindowsTarget.swift index 89f0f91b6833d..f89314c1ad6ef 100644 --- a/test/Parse/ConditionalCompilation/x64WindowsTarget.swift +++ b/test/Parse/ConditionalCompilation/x64WindowsTarget.swift @@ -1,5 +1,5 @@ -// RUN: %swift -typecheck %s -verify -D FOO -D BAR -target x86_64-unknown-windows-cygnus -disable-objc-interop -D FOO -parse-stdlib -// RUN: %swift-ide-test -test-input-complete -source-filename=%s -target x86_64-unknown-windows-cygnus +// RUN: %swift -typecheck %s -verify -D FOO -D BAR -target x86_64-unknown-windows-msvc -disable-objc-interop -D FOO -parse-stdlib +// RUN: %swift-ide-test -test-input-complete -source-filename=%s -target x86_64-unknown-windows-msvc #if arch(x86_64) && os(Windows) && _runtime(_Native) && _endian(little) class C {}