diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2008-05-06 02:59:12 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@gcc.gnu.org> | 2008-05-06 02:59:12 +0000 |
commit | ab1cde2399826caa3373eb981bad8b5cdbb57ee5 (patch) | |
tree | 672c6b5d84da75b05931884b93791362772bdc97 /gcc | |
parent | 0d07fcad0836b13aaa6141258c533bcc3a4e521e (diff) | |
download | gcc-ab1cde2399826caa3373eb981bad8b5cdbb57ee5.zip gcc-ab1cde2399826caa3373eb981bad8b5cdbb57ee5.tar.gz gcc-ab1cde2399826caa3373eb981bad8b5cdbb57ee5.tar.bz2 |
target_supports.exp (check_effective_target_4byte_wchar_t): New proc.
* lib/target_supports.exp (check_effective_target_4byte_wchar_t):
New proc.
* gcc.dg/utf16-4.c: Use it.
* gcc.dg/utf32-4.c: Use it.
* g++.dg/ext/utf16-4.C: Use it.
* gcc.dg/ext/utf32-4.C: Use it.
From-SVN: r134971
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/utf16-4.C | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/utf32-4.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/utf16-4.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/utf32-4.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 8 |
6 files changed, 23 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a27c269..9adb755 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2008-05-06 Danny Smith <dannysmith@users.sourceforge.net> + + * lib/target_supports.exp (check_effective_target_4byte_wchar_t): + New proc. + * gcc.dg/utf16-4.c: Use it. + * gcc.dg/utf32-4.c: Use it. + * g++.dg/ext/utf16-4.C: Use it. + * gcc.dg/ext/utf32-4.C: Use it. + 2008-05-05 Danny Smith <dannysmith@users.sourceforge.net> * gfortran.dg/dev_null.f90. Remove and replace with... diff --git a/gcc/testsuite/g++.dg/ext/utf16-4.C b/gcc/testsuite/g++.dg/ext/utf16-4.C index 0fb7459..21cdb53 100644 --- a/gcc/testsuite/g++.dg/ext/utf16-4.C +++ b/gcc/testsuite/g++.dg/ext/utf16-4.C @@ -13,6 +13,6 @@ const static char16_t c5 = U'\u2029'; const static char16_t c6 = U'\U00064321'; /* { dg-warning "implicitly truncated" } */ const static char16_t c7 = L'a'; const static char16_t c8 = L'\u2029'; -const static char16_t c9 = L'\U00064321'; /* { dg-warning "implicitly truncated" } */ - +const static char16_t c9 = L'\U00064321'; /* { dg-warning "implicitly truncated" "" { target { 4byte_wchar_t } } 16 } */ + /* { dg-warning "constant too long" "" { target { ! 4byte_wchar_t } } 16 } */ int main () {} diff --git a/gcc/testsuite/g++.dg/ext/utf32-4.C b/gcc/testsuite/g++.dg/ext/utf32-4.C index af2fa8d..5da2e82 100644 --- a/gcc/testsuite/g++.dg/ext/utf32-4.C +++ b/gcc/testsuite/g++.dg/ext/utf32-4.C @@ -13,6 +13,6 @@ const static char32_t c5 = u'\u2029'; const static char32_t c6 = u'\U00064321'; /* { dg-warning "constant too long" } */ const static char32_t c7 = L'a'; const static char32_t c8 = L'\u2029'; -const static char32_t c9 = L'\U00064321'; +const static char32_t c9 = L'\U00064321'; /* { dg-warning "constant too long" { target { ! 4byte_wchar_t } } } */ int main () {} diff --git a/gcc/testsuite/gcc.dg/utf16-4.c b/gcc/testsuite/gcc.dg/utf16-4.c index 812c8d2..86597b3 100644 --- a/gcc/testsuite/gcc.dg/utf16-4.c +++ b/gcc/testsuite/gcc.dg/utf16-4.c @@ -15,6 +15,7 @@ char16_t c5 = U'\u2029'; char16_t c6 = U'\U00064321'; /* { dg-warning "implicitly truncated" } */ char16_t c7 = L'a'; char16_t c8 = L'\u2029'; -char16_t c9 = L'\U00064321'; /* { dg-warning "implicitly truncated" } */ +char16_t c9 = L'\U00064321'; /* { dg-warning "implicitly truncated" "" { target { 4byte_wchar_t } } 18 } */ + /* { dg-warning "constant too long" "" { target { ! 4byte_wchar_t } } 18 } */ int main () {} diff --git a/gcc/testsuite/gcc.dg/utf32-4.c b/gcc/testsuite/gcc.dg/utf32-4.c index dd05a9a..48d84fd 100644 --- a/gcc/testsuite/gcc.dg/utf32-4.c +++ b/gcc/testsuite/gcc.dg/utf32-4.c @@ -15,6 +15,6 @@ char32_t c5 = u'\u2029'; char32_t c6 = u'\U00064321'; /* { dg-warning "constant too long" } */ char32_t c7 = L'a'; char32_t c8 = L'\u2029'; -char32_t c9 = L'\U00064321'; +char32_t c9 = L'\U00064321'; /* { dg-warning "constant too long" { target { ! 4byte_wchar_t } } } */ int main () {} diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 5309ee2..e071934 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2352,3 +2352,11 @@ proc check_effective_target_c99_runtime { } { $contents [add_options_for_c99_runtime ""] }] } + +# Return 1 if target wchar_t is at least 4 bytes. + +proc check_effective_target_4byte_wchar_t { } { + return [check_no_compiler_messages 4byte_wchar_t object { + int dummy[sizeof (wchar_t) >= 4 ? 1 : -1]; + }] +} |