mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The UTF16 encoding is not used (anymore). I think it became obsolete with the switch to the UTF8 String representation.
28 lines
953 B
Plaintext
28 lines
953 B
Plaintext
// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %s
|
|
|
|
// REQUIRES: CPU=x86_64
|
|
|
|
// CHECK: [[U8_0:@.*]] = private unnamed_addr constant [8 x i8] c"help\09me\00"
|
|
// CHECK: [[U8_1:@.*]] = private unnamed_addr constant [5 x i8] c"\00x\C6\AB\00"
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
|
|
sil @utf8_literal : $@convention(thin) () -> Builtin.RawPointer {
|
|
bb0:
|
|
%0 = string_literal utf8 "help\tme"
|
|
return %0 : $Builtin.RawPointer
|
|
}
|
|
// CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc i8* @utf8_literal() {{.*}} {
|
|
// CHECK: ret i8* getelementptr inbounds ([8 x i8], [8 x i8]* [[U8_0]], i64 0, i64 0)
|
|
|
|
sil @utf8_literal_with_nul : $@convention(thin) () -> Builtin.RawPointer {
|
|
bb0:
|
|
%0 = string_literal utf8 "\u{00}x\u{01ab}"
|
|
return %0 : $Builtin.RawPointer
|
|
}
|
|
// CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc i8* @utf8_literal_with_nul() {{.*}} {
|
|
// CHECK: ret i8* getelementptr inbounds ([5 x i8], [5 x i8]* [[U8_1]], i64 0, i64 0)
|
|
|