Skip to content

Commit dada509

Browse files
committed
These compilers are insane.
1 parent 1c4593c commit dada509

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

tests/unicode_tests.cpp

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ class RandomUTF8 final {
1616

1717
std::mt19937 gen;
1818
std::discrete_distribution<> bytes_count;
19-
std::uniform_int_distribution<uint8_t> val_7bit{0x00, 0x7f}; // 0b0xxxxxxx
20-
std::uniform_int_distribution<uint8_t> val_6bit{0x00, 0x3f}; // 0b10xxxxxx
21-
std::uniform_int_distribution<uint8_t> val_5bit{0x00, 0x1f}; // 0b110xxxxx
22-
std::uniform_int_distribution<uint8_t> val_4bit{0x00, 0x0f}; // 0b1110xxxx
23-
std::uniform_int_distribution<uint8_t> val_3bit{0x00, 0x07}; // 0b11110xxx
19+
std::uniform_int_distribution<int> val_7bit{0x00, 0x7f}; // 0b0xxxxxxx
20+
std::uniform_int_distribution<int> val_6bit{0x00, 0x3f}; // 0b10xxxxxx
21+
std::uniform_int_distribution<int> val_5bit{0x00, 0x1f}; // 0b110xxxxx
22+
std::uniform_int_distribution<int> val_4bit{0x00, 0x0f}; // 0b1110xxxx
23+
std::uniform_int_distribution<int> val_3bit{0x00, 0x07}; // 0b11110xxx
2424
};
2525

2626
RandomUTF8::RandomUTF8(std::random_device &rd, int prob_1byte, int prob_2bytes,
@@ -35,56 +35,56 @@ std::vector<uint8_t> RandomUTF8::generate(size_t output_bytes) {
3535
while (result.size() < output_bytes) {
3636
switch (bytes_count(gen)) {
3737
case 0: // 1 byte
38-
candidate = val_7bit(gen);
38+
candidate = uint8_t(val_7bit(gen));
3939
while (candidate == 0) { // though strictly speaking, a stream of nulls is
4040
// UTF8, it tends to break some code
41-
candidate = val_7bit(gen);
41+
candidate = uint8_t(val_7bit(gen));
4242
}
4343
result.push_back(candidate);
4444
break;
4545
case 1: // 2 bytes
46-
candidate = 0xc0 | val_5bit(gen);
46+
candidate = 0xc0 | uint8_t(val_5bit(gen));
4747
while (candidate < 0xC2) {
48-
candidate = 0xc0 | val_5bit(gen);
48+
candidate = 0xc0 | uint8_t(val_5bit(gen));
4949
}
5050
result.push_back(candidate);
51-
result.push_back(0x80 | val_6bit(gen));
51+
result.push_back(0x80 | uint8_t(val_6bit(gen)));
5252
break;
5353
case 2: // 3 bytes
54-
head = 0xe0 | val_4bit(gen);
54+
head = 0xe0 | uint8_t(val_4bit(gen));
5555
result.push_back(head);
56-
candidate = 0x80 | val_6bit(gen);
56+
candidate = 0x80 | uint8_t(val_6bit(gen));
5757
if (head == 0xE0) {
5858
while (candidate < 0xA0) {
59-
candidate = 0x80 | val_6bit(gen);
59+
candidate = 0x80 | uint8_t(val_6bit(gen));
6060
}
6161
} else if (head == 0xED) {
6262
while (candidate > 0x9F) {
63-
candidate = 0x80 | val_6bit(gen);
63+
candidate = 0x80 | uint8_t(val_6bit(gen));
6464
}
6565
}
6666
result.push_back(candidate);
67-
result.push_back(0x80 | val_6bit(gen));
67+
result.push_back(0x80 | uint8_t(val_6bit(gen)));
6868
break;
6969
case 3: // 4 bytes
70-
head = 0xf0 | val_3bit(gen);
70+
head = 0xf0 | uint8_t(val_3bit(gen));
7171
while (head > 0xF4) {
72-
head = 0xf0 | val_3bit(gen);
72+
head = 0xf0 | uint8_t(val_3bit(gen));
7373
}
7474
result.push_back(head);
75-
candidate = 0x80 | val_6bit(gen);
75+
candidate = 0x80 | uint8_t(val_6bit(gen));
7676
if (head == 0xF0) {
7777
while (candidate < 0x90) {
78-
candidate = 0x80 | val_6bit(gen);
78+
candidate = 0x80 | uint8_t(val_6bit(gen));
7979
}
8080
} else if (head == 0xF4) {
8181
while (candidate > 0x8F) {
82-
candidate = 0x80 | val_6bit(gen);
82+
candidate = 0x80 | uint8_t(val_6bit(gen));
8383
}
8484
}
8585
result.push_back(candidate);
86-
result.push_back(0x80 | val_6bit(gen));
87-
result.push_back(0x80 | val_6bit(gen));
86+
result.push_back(0x80 | uint8_t(val_6bit(gen)));
87+
result.push_back(0x80 | uint8_t(val_6bit(gen)));
8888
break;
8989
}
9090
}

0 commit comments

Comments
 (0)