blob: 766b6a83f00ff9bbfe35b9104ad5d9e6bba816a7 [file] [edit]
// RUN: %clang_cc1 %s -emit-llvm -triple s390x-none-zos -fexec-charset IBM-1047 -o - | FileCheck %s
// RUN: %clang_cc1 %s -emit-llvm -triple s390x-none-zos -fexec-charset UTF-8 -DIBM1047_ONLY=1 -o - | FileCheck %s --check-prefix=CHECK-UTF8
const char *UpperCaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//CHECK: c"\C1\C2\C3\C4\C5\C6\C7\C8\C9\D1\D2\D3\D4\D5\D6\D7\D8\D9\E2\E3\E4\E5\E6\E7\E8\E9\00"
//CHECK-UTF8: c"ABCDEFGHIJKLMNOPQRSTUVWXYZ\00"
const char *LowerCaseLetters = "abcdefghijklmnopqrstuvwxyz";
//CHECK: c"\81\82\83\84\85\86\87\88\89\91\92\93\94\95\96\97\98\99\A2\A3\A4\A5\A6\A7\A8\A9\00"
//CHECK-UTF8: c"abcdefghijklmnopqrstuvwxyz\00"
const char *Digits = "0123456789";
//CHECK: c"\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\00"
//CHECK-UTF8: c"0123456789\00"
const char *SpecialCharacters = " .<(+|&!$*);^-/,%%_>`:#@=";
//CHECK: c"@KLMNOPZ[\\]^_`akllmnyz{|~\00"
//CHECK-UTF8: c" .<(+|&!$*);^-/,%%_>`:#@=\00"
const char *EscapeCharacters = "\a\b\f\n\r\t\v\\\'\"\?";
//CHECK: c"/\16\0C\15\0D\05\0B\E0}\7Fo\00"
//CHECK-UTF8: c"\07\08\0C\0A\0D\09\0B\\'\22?\00"
const char *InvalidEscape = "\y\z";
//CHECK: c"oo\00"
//CHECK-UTF8: c"yz\00"
const char *HexCharacters = "\x12\x13\x14";
//CHECK: c"\12\13\14\00"
//CHECK-UTF8: c"\12\13\14\00"
const char *OctalCharacters = "\141\142\143";
//CHECK: c"abc\00"
//CHECK-UTF8: c"abc\00"
const char singleChar = 'a';
//CHECK: i8 -127
//CHECK-UTF8: 97
#ifndef IBM1047_ONLY
const char cent = '¢';
//CHECK: i8 74
const char currency = '¤';
//CHECK: i8 -97
#endif
const char *UcnCharacters = "\u00E2\u00AC\U000000DF";
//CHECK: c"B\B0Y\00"
//CHECK-UTF8: c"\C3\A2\C2\AC\C3\9F\00"
const char *Unicode = "ÿ";
//CHECK: c"\DF\00"
//CHECK-UTF8: c"\C3\BF\00"
// RUN: not %clang_cc1 -fexec-charset invalid %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
// CHECK-ERROR: error: failed to set fexec-charset to 'invalid'
#define HELLO "Hello "
#define WORLD "World!"
#define HELLO_WORLD HELLO WORLD
const char* hello_macro = HELLO;
//CHECK: c"\C8\85\93\93\96@\00"
//CHECK-UTF8 = c"Hello\00"
const char* preprocessor_concatenation = HELLO_WORLD;
//CHECK: c"\C8\85\93\93\96@\E6\96\99\93\84Z\00"
//CHECK-UTF8: c"Hello World!\00"