1 // RUN: %clang_cc1 -ast-print %s
2 // RUN: %clang_cc1 -x c++ -ast-print %s
3 // RUN: %clang_cc1 -x c++ -std=c++11 -ast-print %s
4 
5 #include <stddef.h>
6 
7 char    test1(void) { return '\\'; }
8 wchar_t test2(void) { return L'\\'; }
9 char    test3(void) { return '\''; }
10 wchar_t test4(void) { return L'\''; }
11 char    test5(void) { return '\a'; }
12 wchar_t test6(void) { return L'\a'; }
13 char    test7(void) { return '\b'; }
14 wchar_t test8(void) { return L'\b'; }
15 char    test9(void) { return '\e'; }
16 wchar_t test10(void) { return L'\e'; }
17 char    test11(void) { return '\f'; }
18 wchar_t test12(void) { return L'\f'; }
19 char    test13(void) { return '\n'; }
20 wchar_t test14(void) { return L'\n'; }
21 char    test15(void) { return '\r'; }
22 wchar_t test16(void) { return L'\r'; }
23 char    test17(void) { return '\t'; }
24 wchar_t test18(void) { return L'\t'; }
25 char    test19(void) { return '\v'; }
26 wchar_t test20(void) { return L'\v'; }
27 
28 char    test21(void) { return 'c'; }
29 wchar_t test22(void) { return L'c'; }
30 char    test23(void) { return '\x3'; }
31 wchar_t test24(void) { return L'\x3'; }
32 
33 wchar_t test25(void) { return L'\x333'; }
34 
35 #if __cplusplus >= 201103L
36 char16_t test26(void) { return u'\\'; }
37 char16_t test27(void) { return u'\''; }
38 char16_t test28(void) { return u'\a'; }
39 char16_t test29(void) { return u'\b'; }
40 char16_t test30(void) { return u'\e'; }
41 char16_t test31(void) { return u'\f'; }
42 char16_t test32(void) { return u'\n'; }
43 char16_t test33(void) { return u'\r'; }
44 char16_t test34(void) { return u'\t'; }
45 char16_t test35(void) { return u'\v'; }
46 
47 char16_t test36(void) { return u'c'; }
48 char16_t test37(void) { return u'\x3'; }
49 
50 char16_t test38(void) { return u'\x333'; }
51 
52 char32_t test39(void) { return U'\\'; }
53 char32_t test40(void) { return U'\''; }
54 char32_t test41(void) { return U'\a'; }
55 char32_t test42(void) { return U'\b'; }
56 char32_t test43(void) { return U'\e'; }
57 char32_t test44(void) { return U'\f'; }
58 char32_t test45(void) { return U'\n'; }
59 char32_t test46(void) { return U'\r'; }
60 char32_t test47(void) { return U'\t'; }
61 char32_t test48(void) { return U'\v'; }
62 
63 char32_t test49(void) { return U'c'; }
64 char32_t test50(void) { return U'\x3'; }
65 
66 char32_t test51(void) { return U'\x333'; }
67 #endif
68