Skip to content

Commit ce39d0f

Browse files
Merge pull request #84215 from kateinoigakukun/yt/fix-expose-wasm-serialization
2 parents 79035e9 + 81166b4 commit ce39d0f

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

lib/Serialization/ModuleFormat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2540,7 +2540,7 @@ namespace decls_block {
25402540
>;
25412541

25422542
using ExposeDeclAttrLayout = BCRecordLayout<Expose_DECL_ATTR,
2543-
BCFixed<1>, // exposure kind
2543+
BCFixed<2>, // exposure kind
25442544
BCFixed<1>, // implicit flag
25452545
BCBlob // declaration name
25462546
>;
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// RUN: %empty-directory(%t)
2+
// RUN: %target-swift-frontend -module-name attr_expose -emit-module -parse-as-library -o %t %s
3+
// RUN: %target-sil-opt -enable-sil-verify-all %t/attr_expose.swiftmodule | %FileCheck %s
4+
5+
// @_expose
6+
// -----------------------------------------------------------------------------
7+
8+
// CHECK: @_expose(Cxx)
9+
// CHECK-NEXT: func exposeToCxx()
10+
@_expose(Cxx)
11+
func exposeToCxx() -> Int { return 42 }
12+
13+
// CHECK: @_expose(Cxx, "custom_name")
14+
// CHECK-NEXT: func exposeToCxxWithName()
15+
@_expose(Cxx, "custom_name")
16+
func exposeToCxxWithName() -> Int { return 24 }
17+
18+
// CHECK: @_expose(!Cxx)
19+
// CHECK-NEXT: func dontExposeToCxx()
20+
@_expose(!Cxx)
21+
func dontExposeToCxx() -> Int { return 13 }
22+
23+
// CHECK: @_expose(wasm)
24+
// CHECK-NEXT: func exposeToWasm()
25+
@_expose(wasm)
26+
func exposeToWasm() -> Int { return 99 }
27+
28+
// CHECK: @_expose(wasm, "wasm_custom")
29+
// CHECK-NEXT func exposeToWasmWithName()
30+
@_expose(wasm, "wasm_custom")
31+
func exposeToWasmWithName() -> Int { return 88 }

0 commit comments

Comments
 (0)