Skip to content

Commit bbd9b8f

Browse files
authored
Merge pull request #39562 from egorzhdan/cxx-std-module-interface
C++ Interop: add a test for std module interface
2 parents ade59f3 + bb5f9eb commit bbd9b8f

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// RUN: %target-swift-ide-test -print-module -module-to-print=std -source-filename=x -enable-cxx-interop -tools-directory=%llvm_obj_root/bin -module-cache-path %t | %FileCheck %s -check-prefix=CHECK-STD
2+
// RUN: %target-swift-ide-test -print-module -module-to-print=std.iosfwd -source-filename=x -enable-cxx-interop -tools-directory=%llvm_obj_root/bin -module-cache-path %t | %FileCheck %s -check-prefix=CHECK-IOSFWD
3+
// RUN: %target-swift-ide-test -print-module -module-to-print=std.string -source-filename=x -enable-cxx-interop -tools-directory=%llvm_obj_root/bin -module-cache-path %t | %FileCheck %s -check-prefix=CHECK-STRING
4+
5+
// Clang driver on Windows doesn't support -stdlib=libc++
6+
// XFAIL: OS=windows-msvc
7+
8+
// libstdc++ cannot currently be imported.
9+
// XFAIL: OS=linux-gnu
10+
11+
// XFAIL: OS=linux-androideabi
12+
// XFAIL: OS=linux-android
13+
14+
// CHECK-STD: import std.iosfwd
15+
// CHECK-STD: import std.string
16+
17+
// CHECK-IOSFWD: extension std.__1 {
18+
// CHECK-IOSFWD: struct __CxxTemplateInstNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE {
19+
// CHECK-IOSFWD: typealias value_type = CChar
20+
// CHECK-IOSFWD: }
21+
// CHECK-IOSFWD: struct __CxxTemplateInstNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE {
22+
// CHECK-IOSFWD: typealias value_type = CWideChar
23+
// CHECK-IOSFWD: }
24+
// CHECK-IOSFWD: typealias string = std.__1.__CxxTemplateInstNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE
25+
// CHECK-IOSFWD: typealias wstring = std.__1.__CxxTemplateInstNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE
26+
// CHECK-IOSFWD: }
27+
28+
// CHECK-STRING: extension std.__1 {
29+
// CHECK-STRING: static func to_string(_ __val: Int32) -> std.__1.string
30+
// CHECK-STRING: static func to_wstring(_ __val: Int32) -> std.__1.wstring
31+
// CHECK-STRING: }
32+
33+
// CHECK-IOSFWD-NOT: static func to_string
34+
// CHECK-STRING-NOT: typealias string
35+
// CHECK-STD-NOT: extension std

0 commit comments

Comments
 (0)