summaryrefslogtreecommitdiffstats
path: root/clang/test/Lexer/char-literal-encoding-error.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Lexer/char-literal-encoding-error.c')
-rw-r--r--clang/test/Lexer/char-literal-encoding-error.c13
1 files changed, 9 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}}
}
OpenPOWER on IntegriCloud