mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 11:35:51 -04:00

Move the logic for determining the `wchar_t` type information into the driver. Rather than passing the single bit of information of `-fshort-wchar` indicate to the frontend the desired type of `wchar_t` through a new `-cc1` option of `-fwchar-type` and indicate the signedness through `-f{,no-}signed-wchar`. This replicates the current logic which was spread throughout Basic into the `RenderCharacterOptions`. Most of the changes to the tests are to ensure that the frontend uses the correct type. Add a new test set under `test/Driver/wchar_t.c` to ensure that we calculate the proper types for the various cases. llvm-svn: 315126
13 lines
471 B
C
13 lines
471 B
C
// RUN: %clang_cc1 -fsyntax-only -fwchar-type=short -fno-signed-wchar -verify %s
|
|
|
|
void f() {
|
|
(void)L"\U00010000"; // unicode escape produces UTF-16 sequence, so no warning
|
|
|
|
(void)L'\U00010000'; // expected-error {{character too large for enclosing character literal type}}
|
|
|
|
(void)L'ab'; // expected-warning {{extraneous characters in character constant ignored}}
|
|
|
|
(void)L'a\u1000'; // expected-warning {{extraneous characters in character constant ignored}}
|
|
}
|
|
|