blob: 39b91d8a95c3cb6a6b24fbfa6dfa06ab14105e48 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
fn main ()
{
// Braces are required
let _cbl = '\u013'; // { dg-error "unicode escape" }
let _sbl = "\u013"; //{ dg-error "unicode escape" }
// One to six hex digits
let _c0 = '\u{}'; // { dg-error "unicode escape" }
let _c1 = '\u{0}';
let _c2 = '\u{00}';
let _c3 = '\u{000}';
let _c4 = '\u{0000}';
let _c5 = '\u{00000}';
let _c6 = '\u{000000}';
let _c7 = '\u{0000000}'; // { dg-error "unicode escape" }
let _s0 = "\u{}"; // { dg-error "unicode escape" }
let _s1 = "\u{0}";
let _s2 = "\u{00}";
let _s3 = "\u{000}";
let _s4 = "\u{0000}";
let _s5 = "\u{00000}";
let _s6 = "\u{000000}";
let _s7 = "\u{0000000}"; // { dg-error "unicode escape" }
// Underscores OK except for start
let _c_ = '\u{00___01__0_1_}';
let _s_ = "\u{00___01__0_1_}";
let _c__ = '\u{_00__01__0_}'; // { dg-error "unicode escape" }
let _s__ = "\u{_00__01__0_}"; // { dg-error "unicode escape" }
// Must be hex chars
let _chex = '\u{hex}'; // { dg-error "unicode escape" }
let _shex = '\u{hex}'; // { dg-error "unicode escape" }
// Only valid from 0x0 to 0xD7FF and from 0xE000 to 0x10FFF
let _cd7ff = '\u{D7FF}';
let _sd7ff = "\u{D7FF}";
let _cd800 = '\u{D800}'; // { dg-error "unicode escape" }
let _sd800 = "\u{D800}"; // { dg-error "unicode escape" }
let _cdfff = '\u{DFFF}'; // { dg-error "unicode escape" }
let _sdfff = "\u{DFFF}"; // { dg-error "unicode escape" }
let _ce000 = '\u{E000}';
let _se000 = "\u{E000}";
let _clast = '\u{10FFFF}';
let _slast = "\u{10FFFF}";
let _clast1 = '\u{110000}'; // { dg-error "unicode escape" }
let _slast1 = "\u{110000}"; // { dg-error "unicode escape" }
let _cffffff = '\u{FFFFFF}'; // { dg-error "unicode escape" }
let _sffffff = "\u{FFFFFF}"; // { dg-error "unicode escape" }
// unicode escapes cannot be used in bytes or byte strings.
// Except in raw byte strings (where they aren't escapes).
let _bc = b'\u{000A}'; // { dg-error "unicode escape" }
let _bs = b"\u{000A}"; // { dg-error "unicode escape" }
let _rbs = br"\u{000A}";
}
|