summaryrefslogtreecommitdiffstats
path: root/clang/test/Lexer
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Lexer')
-rw-r--r--clang/test/Lexer/char-literal-encoding-error.c13
-rw-r--r--clang/test/Lexer/string-literal-encoding.c3
2 files changed, 12 insertions, 4 deletions
diff --git a/clang/test/Lexer/char-literal-encoding-error.c b/clang/test/Lexer/char-literal-encoding-error.c
index 833ffcaa251..e752de2920e 100644
--- a/clang/test/Lexer/char-literal-encoding-error.c
+++ b/clang/test/Lexer/char-literal-encoding-error.c
@@ -3,8 +3,13 @@
// This file is encoded using ISO-8859-1
int main() {
- 'é'; // expected-error {{illegal character encoding in character literal}}
- u'é'; // expected-error {{illegal character encoding in character literal}}
- U'é'; // expected-error {{illegal character encoding in character literal}}
- L'é'; // expected-error {{illegal character encoding in character literal}}
+ (void)'é'; // expected-warning {{illegal character encoding in character literal}}
+ (void)u'é'; // expected-error {{illegal character encoding in character literal}}
+ (void)U'é'; // expected-error {{illegal character encoding in character literal}}
+ (void)L'é'; // expected-error {{illegal character encoding in character literal}}
+
+ // For narrow character literals, since there is no error, make sure the
+ // encoding is correct
+ static_assert((unsigned char)'é' == 0xE9, ""); // expected-warning {{illegal character encoding in character literal}}
+ static_assert('éé' == 0xE9E9, ""); // expected-warning {{illegal character encoding in character literal}} expected-warning {{multi-character character constant}}
}
diff --git a/clang/test/Lexer/string-literal-encoding.c b/clang/test/Lexer/string-literal-encoding.c
index b12cfab156d..aa7cb73f626 100644
--- a/clang/test/Lexer/string-literal-encoding.c
+++ b/clang/test/Lexer/string-literal-encoding.c
@@ -12,4 +12,7 @@ void f() {
wchar_t const *d = LR"(Àéîõü)"; // expected-error {{illegal character encoding in string literal}}
char16_t const *e = uR"(Àéîõü)"; // expected-error {{illegal character encoding in string literal}}
char32_t const *f = UR"(Àéîõü)"; // expected-error {{illegal character encoding in string literal}}
+
+ char const *g = "Àéîõü"; // expected-warning {{illegal character encoding in string literal}}
+ char const *h = u8"Àéîõü"; // expected-error {{illegal character encoding in string literal}}
}
OpenPOWER on IntegriCloud