[cxx-interop] Rename enable-cxx-interop -> enable-experimental-cxx-interop.

Also removes the driver flag, this will now also always be guarded on `-Xfrontend`.
This commit is contained in:
zoecarver
2022-04-07 14:40:33 -07:00
parent 27ad9389b4
commit 839839f924
241 changed files with 266 additions and 270 deletions

View File

@@ -74,7 +74,7 @@ function(add_swift_compiler_modules_library name)
set(swift_compile_options
"-Xfrontend" "-validate-tbd-against-ir=none"
"-Xfrontend" "-enable-cxx-interop"
"-Xfrontend" "-enable-experimental-cxx-interop"
"-Xcc" "-UIBOutlet" "-Xcc" "-UIBAction" "-Xcc" "-UIBInspectable")
if(CMAKE_BUILD_TYPE STREQUAL Debug)

View File

@@ -118,7 +118,7 @@ targets.append(
path: "utils",
sources: ["main.swift"],
swiftSettings: [.unsafeFlags(["-Xfrontend",
"-enable-cxx-interop",
"-enable-experimental-cxx-interop",
"-I",
"utils/CxxTests"])]))
@@ -157,7 +157,7 @@ targets += cxxSingleSourceLibraries.map { name in
path: "cxx-source",
sources: ["\(name).swift"],
swiftSettings: [.unsafeFlags(["-Xfrontend",
"-enable-cxx-interop",
"-enable-experimental-cxx-interop",
"-I",
"utils/CxxTests"])])
}

View File

@@ -478,10 +478,10 @@ function (swift_benchmark_compile_archopts)
list(APPEND SWIFT_BENCH_OBJFILES "${objfile}")
list(APPEND bench_library_swiftmodules "${swiftmodule}")
# Only set "enable-cxx-interop" for tests in the "cxx-source" directory.
# Only set "enable-experimental-cxx-interop" for tests in the "cxx-source" directory.
set(cxx_options "")
if ("${module_name_path}" MATCHES ".*cxx-source/.*")
list(APPEND cxx_options "-Xfrontend" "-enable-cxx-interop" "-I" "${srcdir}/utils/CxxTests/")
list(APPEND cxx_options "-Xfrontend" "-enable-experimental-cxx-interop" "-I" "${srcdir}/utils/CxxTests/")
endif()
if ("${bench_flags}" MATCHES "-whole-module.*")
@@ -590,7 +590,7 @@ function (swift_benchmark_compile_archopts)
"-whole-module-optimization"
"-emit-module" "-module-name" "${module_name}"
"-I" "${objdir}"
"-Xfrontend" "-enable-cxx-interop"
"-Xfrontend" "-enable-experimental-cxx-interop"
"-I" "${srcdir}/utils/CxxTests/"
"-o" "${objdir}/${module_name}.o"
"${source}")

View File

@@ -34,12 +34,12 @@ module Cxx {
Add the C++ module to the include path and enable C++ interop:
- Navigate to your project directory
- In `Project` navigate to `Build Settings` -> `Swift Compiler`
- Under `Custom Flags` -> `Other Swift Flags` add`-Xfrontend -enable-cxx-interop`
- Under `Custom Flags` -> `Other Swift Flags` add`-Xfrontend -enable-experimental-cxx-interop`
- Under `Search Paths` -> `Import Paths` add your search path to the C++ module (i.e, `./ProjectName/Cxx`). Repeat this step in `Other Swift Flags`
```
//Add to Other Swift Flags and Import Paths respectively
-Xfrontend -enable-cxx-interop
-Xfrontend -enable-experimental-cxx-interop
-I./ProjectName/Cxx
```
@@ -88,7 +88,7 @@ After creating your Swift package project, follow the steps [Creating a Module t
- Swift code will be in `Sources/CxxInterop` called `main.swift`
- C++ source code follows the example shown in [Creating a Module to contain your C++ source code](#creating-a-module-to-contain-your-c-source-code)
- Under targets, add the name of your C++ module and the directory containing the Swift code as a target.
- In the target defining your Swift target, add a`dependencies` to the C++ Module, the `path`, `source`, and `swiftSettings` with `unsafeFlags` with the source to the C++ Module, and enable `-enable-cxx-interop`
- In the target defining your Swift target, add a`dependencies` to the C++ Module, the `path`, `source`, and `swiftSettings` with `unsafeFlags` with the source to the C++ Module, and enable `-enable-experimental-cxx-interop`
```
//In Package Manifest
@@ -118,7 +118,7 @@ let package = Package(
sources: [ "main.swift" ],
swiftSettings: [.unsafeFlags([
"-I", "Sources/Cxx",
"-Xfrontend", "-enable-cxx-interop",
"-Xfrontend", "-enable-experimental-cxx-interop",
])]
),
]
@@ -151,7 +151,7 @@ After creating your project follow the steps [Creating a Module to contain your
- Create a `CMakeLists.txt` file and configure for your project
- In`add_library` invoke `cxx-support` with the path to the C++ implementation file
- Add the `target_include_directories` with `cxx-support` and path to the C++ Module `${CMAKE_SOURCE_DIR}/Sources/Cxx`
- Add the `add_executable` to the specific files/directory you would like to generate source, with`SHELL:-Xfrontend -enable-cxx-interop`.
- Add the `add_executable` to the specific files/directory you would like to generate source, with`SHELL:-Xfrontend -enable-experimental-cxx-interop`.
- In the example below we will be following the file structure used in [Creating a Swift Package](#Creating-a-Swift-Package)
```
@@ -176,7 +176,7 @@ target_include_directories(cxx-support PUBLIC
add_executable(CxxInterop ./Sources/CxxInterop/main.swift)
target_compile_options(CxxInterop PRIVATE
"SHELL:-Xfrontend -enable-cxx-interop"
"SHELL:-Xfrontend -enable-experimental-cxx-interop"
target_link_libraries(CxxInterop PRIVATE cxx-support)
```

View File

@@ -823,8 +823,8 @@ def emit_sorted_sil : Flag<["-"], "emit-sorted-sil">,
def emit_syntax : Flag<["-"], "emit-syntax">,
HelpText<"Parse input file(s) and emit the Syntax tree(s) as JSON">, ModeOpt;
def enable_cxx_interop :
Flag<["-"], "enable-cxx-interop">,
def enable_experimental_cxx_interop :
Flag<["-"], "enable-experimental-cxx-interop">,
HelpText<"Enable C++ interop code generation and config directives">,
Flags<[FrontendOption, HelpHidden]>;

View File

@@ -608,10 +608,6 @@ def enable_experimental_concise_pound_file : Flag<["-"],
Flags<[FrontendOption, ModuleInterfaceOption]>,
HelpText<"Enable experimental concise '#file' identifier">;
def enable_experimental_cxx_interop :
Flag<["-"], "enable-experimental-cxx-interop">,
HelpText<"Allow importing C++ modules into Swift (experimental feature)">;
def experimental_cxx_stdlib :
Separate<["-"], "experimental-cxx-stdlib">,
HelpText<"C++ standard library to use; forwarded to Clang's -stdlib flag">;

View File

@@ -190,7 +190,7 @@ void ToolChain::addCommonFrontendArgs(const OutputInfo &OI,
// Add flags for C++ interop.
if (inputArgs.hasArg(options::OPT_enable_experimental_cxx_interop)) {
arguments.push_back("-enable-cxx-interop");
arguments.push_back("-enable-experimental-cxx-interop");
}
if (const Arg *arg =
inputArgs.getLastArg(options::OPT_experimental_cxx_stdlib)) {

View File

@@ -757,7 +757,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.ClangTarget = llvm::Triple(A->getValue());
}
Opts.EnableCXXInterop |= Args.hasArg(OPT_enable_cxx_interop);
Opts.EnableCXXInterop |= Args.hasArg(OPT_enable_experimental_cxx_interop);
Opts.EnableObjCInterop =
Args.hasFlag(OPT_enable_objc_interop, OPT_disable_objc_interop,
Target.isOSDarwin());

View File

@@ -1,10 +1,10 @@
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-apple-macosx10.9 %s -enable-experimental-cxx-interop 2>^1 | %FileCheck -check-prefix ENABLE %s
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-apple-macosx10.9 %s -Xfrontend -enable-experimental-cxx-interop 2>^1 | %FileCheck -check-prefix ENABLE %s
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-apple-macosx10.9 %s -enable-experimental-cxx-interop -experimental-cxx-stdlib libc++ 2>^1 | %FileCheck -check-prefix STDLIB %s
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-apple-macosx10.9 %s -Xfrontend -enable-experimental-cxx-interop -experimental-cxx-stdlib libc++ 2>^1 | %FileCheck -check-prefix STDLIB %s
// ENABLE: swift
// ENABLE: -enable-cxx-interop
// ENABLE: -enable-experimental-cxx-interop
// STDLIB: swift
// STDLIB-DAG: -enable-cxx-interop
// STDLIB-DAG: -enable-experimental-cxx-interop
// STDLIB-DAG: -Xcc -stdlib=libc++

View File

@@ -452,7 +452,7 @@
// IOS-no-cxx-interop-NOT: -lc++
// IOS-cxx-interop-libcxx: swift
// IOS-cxx-interop-libcxx-DAG: -enable-cxx-interop
// IOS-cxx-interop-libcxx-DAG: -enable-experimental-cxx-interop
// IOS-cxx-interop-libcxx-DAG: -o [[OBJECTFILE:.*]]
// IOS-cxx-interop-libcxx: {{(bin/)?}}ld{{"? }}
@@ -465,7 +465,7 @@
// LINUX-cxx-interop-NOT: -stdlib
// LINUX-cxx-interop-libcxx: swift
// LINUX-cxx-interop-libcxx-DAG: -enable-cxx-interop
// LINUX-cxx-interop-libcxx-DAG: -enable-experimental-cxx-interop
// LINUX-cxx-interop-libcxx-DAG: -o [[OBJECTFILE:.*]]
// LINUX-cxx-interop-libcxx: clang++{{(\.exe)?"? }}
@@ -476,7 +476,7 @@
// WINDOWS-cxx-interop-NOT: -stdlib
// WINDOWS-cxx-interop-libcxx: swift
// WINDOWS-cxx-interop-libcxx-DAG: -enable-cxx-interop
// WINDOWS-cxx-interop-libcxx-DAG: -enable-experimental-cxx-interop
// WINDOWS-cxx-interop-libcxx-DAG: -o [[OBJECTFILE:.*]]
// WINDOWS-cxx-interop-libcxx: clang++{{(\.exe)?"? }}

View File

@@ -1,5 +1,5 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=SomeModule -I %S/Inputs -source-filename=x -enable-cxx-interop -enable-objc-interop | %FileCheck -check-prefix=CHECK-IDE-TEST %s
// RUN: %swift-frontend -c -enable-cxx-interop -enable-objc-interop -I %S/Inputs %s -o - -emit-sil | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=SomeModule -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop -enable-objc-interop | %FileCheck -check-prefix=CHECK-IDE-TEST %s
// RUN: %swift-frontend -c -enable-experimental-cxx-interop -enable-objc-interop -I %S/Inputs %s -o - -emit-sil | %FileCheck %s
import SomeModule

View File

@@ -1,7 +1,7 @@
// Test module interface produced for C++ access specifiers test.
// In particular, we don't want any of the private members showing up here.
// RUN: %target-swift-ide-test -print-module -module-to-print=AccessSpecifiers -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=AccessSpecifiers -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct PublicPrivate {
// CHECK-NEXT: init()

View File

@@ -1,7 +1,7 @@
// Test that C++ access specifiers are honored, i.e. private members aren't
// imported.
// RUN: %target-typecheck-verify-swift -verify-ignore-unknown -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -verify-ignore-unknown -I %S/Inputs -enable-experimental-cxx-interop
import AccessSpecifiers

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-frontend %s -c -enable-cxx-interop -I %S/Inputs
// RUN: %target-swift-frontend %s -c -enable-experimental-cxx-interop -I %S/Inputs
//
// REQUIRES: objc_interop

View File

@@ -1,8 +1,8 @@
// Target-specific tests for C++ copy constructor code generation.
// RUN: %swift -module-name Swift -target x86_64-apple-macosx10.9 -dump-clang-diagnostics -I %S/Inputs -enable-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_X64
// RUN: %swift -module-name Swift -target armv7-none-linux-androideabi -dump-clang-diagnostics -I %S/Inputs -enable-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_ARM
// RUN: %swift -module-name Swift -target x86_64-unknown-windows-msvc -dump-clang-diagnostics -I %S/Inputs -enable-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=MICROSOFT_X64
// RUN: %swift -module-name Swift -target x86_64-apple-macosx10.9 -dump-clang-diagnostics -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_X64
// RUN: %swift -module-name Swift -target armv7-none-linux-androideabi -dump-clang-diagnostics -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_ARM
// RUN: %swift -module-name Swift -target x86_64-unknown-windows-msvc -dump-clang-diagnostics -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=MICROSOFT_X64
import Constructors
import TypeClassification

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Constructors -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=Constructors -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// Make sure we don't import non-copyable types because we will have no way to
// represent and copy/move these in swift with correct semantics.

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,8 +1,8 @@
// Target-specific tests for C++ constructor call code generation.
// RUN: %swift -module-name Swift -target x86_64-apple-macosx10.9 -dump-clang-diagnostics -I %S/Inputs -enable-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_X64
// RUN: %swift -module-name Swift -target armv7-unknown-linux-androideabi -dump-clang-diagnostics -I %S/Inputs -enable-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_ARM
// RUN: %swift -module-name Swift -target x86_64-unknown-windows-msvc -dump-clang-diagnostics -I %S/Inputs -enable-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=MICROSOFT_X64
// RUN: %swift -module-name Swift -target x86_64-apple-macosx10.9 -dump-clang-diagnostics -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_X64
// RUN: %swift -module-name Swift -target armv7-unknown-linux-androideabi -dump-clang-diagnostics -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=ITANIUM_ARM
// RUN: %swift -module-name Swift -target x86_64-unknown-windows-msvc -dump-clang-diagnostics -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -parse-stdlib -parse-as-library -disable-legacy-type-info | %FileCheck %s -check-prefix=MICROSOFT_X64
import Constructors
import TypeClassification

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Constructors -I %S/Inputs/ -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=Constructors -I %S/Inputs/ -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct ExplicitDefaultConstructor {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs -enable-cxx-interop -emit-ir %s | %FileCheck %s
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s | %FileCheck %s
// REQUIRES: CPU=x86_64
// REQUIRES: objc_interop

View File

@@ -1,7 +1,7 @@
// Test that Objective-C types passed to a C++ constructor are bridged
// correctly.
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -print-module -module-to-print=ConstructorsObjC -I %S/Inputs/ -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -print-module -module-to-print=ConstructorsObjC -I %S/Inputs/ -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// REQUIRES: objc_interop

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs -enable-cxx-interop -emit-sil %s | %FileCheck %s
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs -enable-experimental-cxx-interop -emit-sil %s | %FileCheck %s
// REQUIRES: objc_interop
import Foundation

View File

@@ -1,4 +1,4 @@
// RUN: %target-typecheck-verify-swift -verify-ignore-unknown -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -verify-ignore-unknown -I %S/Inputs -enable-experimental-cxx-interop
import Constructors

View File

@@ -1,4 +1,4 @@
// RUN: %swift -I %S/Inputs -enable-cxx-interop -emit-ir %s | %FileCheck %s
// RUN: %swift -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s | %FileCheck %s
import Destructors

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-frontend -enable-cxx-interop -I %S/Inputs %s -emit-ir | %FileCheck %s
// RUN: %target-swift-frontend -enable-experimental-cxx-interop -I %S/Inputs %s -emit-ir | %FileCheck %s
import Destructors

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=DictionaryOfNSStrings -I %S/Inputs/ -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=DictionaryOfNSStrings -I %S/Inputs/ -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// REQUIRES: objc_interop

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
// REQUIRES: executable_test
import StdlibUnittest

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import Extensions

View File

@@ -1,4 +1,4 @@
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-experimental-cxx-interop
import Extensions

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Fields -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=Fields -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct HasThreeFields {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test
//

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Functions -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=Functions -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct NonTrivial {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=SubTypes -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=SubTypes -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct Base {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=TypeAliases -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=TypeAliases -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct Base {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ConstructorCallsFunctionFromNestedCalls

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ConstructorCallsFunctionFromNestedStruct

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ConstructorCallsFunction

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ConstructorCallsMethod

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import FieldInitCallsFunction

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import MethodCallsFunction

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import MethodCallsMethodFromNestedStruct

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import MethodCallsMethod

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop -Xfrontend -validate-tbd-against-ir=none)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop -Xfrontend -validate-tbd-against-ir=none)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop -validate-tbd-against-ir=none | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop -validate-tbd-against-ir=none | %FileCheck %s
// TODO: See why -validate-tbd-against-ir=none is needed here (SR-14069)

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=InvalidNestedStruct -I %S/Inputs/ -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=InvalidNestedStruct -I %S/Inputs/ -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK-NOT: CannotImport
// CHECK-NOT: ForwardDeclaredSibling

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=LinkedRecords -I %S/Inputs/ -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=LinkedRecords -I %S/Inputs/ -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: enum Space {
// CHECK: struct C {

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=MemberVariables -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=MemberVariables -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct MyClass {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-experimental-cxx-interop
import MemberVariables

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=MemberwiseInitializer -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=MemberwiseInitializer -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct StructPrivateOnly {
// CHECK-NEXT: init()

View File

@@ -1,4 +1,4 @@
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-experimental-cxx-interop
import MemberwiseInitializer

View File

@@ -1,5 +1,5 @@
// RUN: %empty-directory(%t)
// RUN: %target-build-swift %s -I %S/Inputs -o %t/class_layout -Xfrontend -enable-cxx-interop
// RUN: %target-build-swift %s -I %S/Inputs -o %t/class_layout -Xfrontend -enable-experimental-cxx-interop
// RUN: %target-codesign %t/class_layout
// RUN: %target-run %t/class_layout 2&>1
//

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=AmbiguousMethods -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=AmbiguousMethods -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: func increment(_ a: Int32) -> Int32
// CHECK: mutating func incrementMutating(_ a: Int32) -> Int32

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test
//

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Methods -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=Methods -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: mutating func nonConstMethod()
// CHECK: func constMethod()

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test
//

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=MutabilityAnnotations -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=MutabilityAnnotations -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct HasConstMethodAnnotatedAsMutating {
// CHECK: mutating func annotatedMutating() -> Int32

View File

@@ -1,4 +1,4 @@
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-experimental-cxx-interop
import MutabilityAnnotations

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=MutableMembers -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=MutableMembers -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct HasPublicMutableMember {
// CHECK: mutating func foo() -> Int32

View File

@@ -1,4 +1,4 @@
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-experimental-cxx-interop
import MutableMembers

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=NestedRecords -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=NestedRecords -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct S1 {
// CHECK: struct S2 {

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir -I %S/Inputs -enable-cxx-interop %s | %FileCheck %s
// RUN: %target-swift-emit-ir -I %S/Inputs -enable-experimental-cxx-interop %s | %FileCheck %s
import ProtocolConformance

View File

@@ -1,6 +1,6 @@
// Tests that a C++ class can conform to a Swift protocol.
// RUN: %target-swift-emit-silgen -I %S/Inputs -enable-cxx-interop %s | %FileCheck %s
// RUN: %target-swift-emit-silgen -I %S/Inputs -enable-experimental-cxx-interop %s | %FileCheck %s
import ProtocolConformance

View File

@@ -1,6 +1,6 @@
// Tests that a C++ class can conform to a Swift protocol.
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-cxx-interop
// RUN: %target-typecheck-verify-swift -I %S/Inputs -enable-experimental-cxx-interop
import ProtocolConformance

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop)
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-silgen -I %S/Inputs -enable-cxx-interop %s | %FileCheck %s
// RUN: %target-swift-emit-silgen -I %S/Inputs -enable-experimental-cxx-interop %s | %FileCheck %s
// This test checks that we classify C++ types as loadable and address-only
// correctly.

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=TypeClassification -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=TypeClassification -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// Make sure we don't import objects that we can't copy or destroy.
// CHECK-NOT: StructWithPrivateDefaultedCopyConstructor

View File

@@ -1,5 +1,5 @@
// RUN: %empty-directory(%t)
// RUN: %target-build-swift %s -I %S/Inputs -o %t/address_only -Xfrontend -enable-cxx-interop
// RUN: %target-build-swift %s -I %S/Inputs -o %t/address_only -Xfrontend -enable-experimental-cxx-interop
// RUN: %target-codesign %t/address_only
// RUN: %target-run %t/address_only 2&>1

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=BoolEnums -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=BoolEnums -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// TODO: these should be enums eventually (especially the enum class).

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=ScopedEnums -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=ScopedEnums -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: enum ScopedEnumDefined : Int32 {
// CHECK: init?(rawValue: Int32)

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-sil %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-sil %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ScopedEnums

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=ImplicitComputedProperties -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=ImplicitComputedProperties -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct VoidGetter {
// CHECK-NOT: var

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-cxx-interop)
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop)
//
// REQUIRES: executable_test
//

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=ExternC -I %S/Inputs -source-filename=x -enable-cxx-interop -enable-objc-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=ExternC -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop -enable-objc-interop | %FileCheck %s
// CHECK: class A {
// CHECK-NEXT: }

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ExternVar

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-sil %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-sil %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import ExternVar

View File

@@ -1,6 +1,6 @@
// RUN: %empty-directory(%t)
// RUN: %target-clangxx -c %S/Inputs/extern-var.cpp -I %S/Inputs -o %t/extern-var.o
// RUN: %target-build-swift %s -I %S/Inputs -o %t/extern-var %t/extern-var.o -Xfrontend -enable-cxx-interop
// RUN: %target-build-swift %s -I %S/Inputs -o %t/extern-var %t/extern-var.o -Xfrontend -enable-experimental-cxx-interop
// RUN: %target-codesign %t/extern-var
// RUN: %target-run %t/extern-var
//

View File

@@ -1,6 +1,6 @@
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: not %target-swift-frontend -emit-ir -I %t/Inputs %t/test.swift -enable-cxx-interop 2>&1 | %FileCheck %s
// RUN: not %target-swift-frontend -emit-ir -I %t/Inputs %t/test.swift -enable-experimental-cxx-interop 2>&1 | %FileCheck %s
// XFAIL: OS=windows-msvc

View File

@@ -1,6 +1,6 @@
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: not %target-swift-frontend -emit-ir -I %t/Inputs %t/test.swift -enable-cxx-interop 2>&1 | %FileCheck %s
// RUN: not %target-swift-frontend -emit-ir -I %t/Inputs %t/test.swift -enable-experimental-cxx-interop 2>&1 | %FileCheck %s
//--- Inputs/module.modulemap
module Test {

View File

@@ -1,6 +1,6 @@
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: not %target-swift-frontend -emit-ir -I %t/Inputs %t/test.swift -enable-cxx-interop 2>&1 | %FileCheck %s
// RUN: not %target-swift-frontend -emit-ir -I %t/Inputs %t/test.swift -enable-experimental-cxx-interop 2>&1 | %FileCheck %s
//--- Inputs/module.modulemap
module Test {

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop -validate-tbd-against-ir=none -disable-llvm-verify | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop -validate-tbd-against-ir=none -disable-llvm-verify | %FileCheck %s
import MoveOnly

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=MoveOnly -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=MoveOnly -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: class MoveOnly {
// CHECK-NOT: init

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-silgen %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-silgen %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import MoveOnly

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop -Xfrontend -validate-tbd-against-ir=none -Xfrontend -disable-llvm-verify)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop -Xfrontend -validate-tbd-against-ir=none -Xfrontend -disable-llvm-verify)
//
// REQUIRES: executable_test

View File

@@ -1,6 +1,6 @@
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: %target-swift-frontend -typecheck -verify -verify-ignore-unknown -I %t/Inputs %t/test.swift -enable-cxx-interop
// RUN: %target-swift-frontend -typecheck -verify -verify-ignore-unknown -I %t/Inputs %t/test.swift -enable-experimental-cxx-interop
// REQUIRES: objc_interop

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Nullable -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=Nullable -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: class Empty {
// CHECK: func test() -> Int32

View File

@@ -1,4 +1,4 @@
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-cxx-interop -Xfrontend -validate-tbd-against-ir=none -Xfrontend -disable-llvm-verify -g)
// RUN: %target-run-simple-swift(-I %S/Inputs/ -Xfrontend -enable-experimental-cxx-interop -Xfrontend -validate-tbd-against-ir=none -Xfrontend -disable-llvm-verify -g)
//
// REQUIRES: executable_test

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-cxx-interop -validate-tbd-against-ir=none -disable-llvm-verify | %FileCheck %s
// RUN: %target-swift-emit-ir %s -I %S/Inputs -enable-experimental-cxx-interop -validate-tbd-against-ir=none -disable-llvm-verify | %FileCheck %s
import POD

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=POD -I %S/Inputs -source-filename=x -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-ide-test -print-module -module-to-print=POD -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: class Empty {
// CHECK-NOT: init

View File

@@ -1,4 +1,4 @@
// RUN: %target-swift-emit-silgen %s -I %S/Inputs -enable-cxx-interop | %FileCheck %s
// RUN: %target-swift-emit-silgen %s -I %S/Inputs -enable-experimental-cxx-interop | %FileCheck %s
import POD

Some files were not shown because too many files have changed in this diff Show More