mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This is something that we have wanted for a long time and will enable us to remove some hacks from the compiler (i.e. how we determine in the ARC optimizer that we have "fatalError" like function) and also express new things like "noarc".
28 lines
977 B
Plaintext
28 lines
977 B
Plaintext
// RUN: rm -rf %t
|
|
// RUN: mkdir -p %t
|
|
// RUN: %target-swift-frontend -parse-sil -emit-sib -parse-as-library -parse-stdlib -module-name SemanticsAttr -o %t/SemanticsAttr.sib %s
|
|
// RUN: %target-sil-opt %t/SemanticsAttr.sib -o - | FileCheck %s
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
|
|
// CHECK: @_semantics("123") @_semantics("456") func semanticsFunction() -> Builtin.Int64
|
|
@_semantics("123") @_semantics("456")
|
|
func semanticsFunction() -> Builtin.Int64
|
|
|
|
// CHECK: sil [_semantics "789"] [_semantics "ABC"] @foo1 : $@convention(thin) () -> () {
|
|
sil public [_semantics "789"] [_semantics "ABC"] @foo1 : $@convention(thin) () -> () {
|
|
bb0:
|
|
return undef : $()
|
|
}
|
|
|
|
// Make sure that we can parse with multiple generics that are after the semantic attributes.
|
|
//
|
|
// CHECK: sil [_semantics "DEF"] [_semantics "GHI"] @foo2 : $@convention(thin) <T1, T2> () -> () {
|
|
sil public [_semantics "DEF"] [_semantics "GHI"] @foo2 : $@convention(thin) <T1, T2> () -> () {
|
|
bb0:
|
|
return undef : $()
|
|
}
|
|
|