target_supports.exp (check_effective_target_4byte_wchar_t): New proc.
authorDanny Smith <dannysmith@users.sourceforge.net>
Tue, 6 May 2008 02:59:12 +0000 (02:59 +0000)
committerDanny Smith <dannysmith@gcc.gnu.org>
Tue, 6 May 2008 02:59:12 +0000 (02:59 +0000)
* 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

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/utf16-4.C
gcc/testsuite/g++.dg/ext/utf32-4.C
gcc/testsuite/gcc.dg/utf16-4.c
gcc/testsuite/gcc.dg/utf32-4.c
gcc/testsuite/lib/target-supports.exp

index a27c269da3de26232dc74e2751336d5ae76415b0..9adb755b6006b8244793409b2f360c4069030e2d 100644 (file)
@@ -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...
index 0fb7459c21ead01546be716fb4851e71679b417c..21cdb53bdeb8f68e4fdbc8cf25b3297d59104852 100644 (file)
@@ -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 () {}
index af2fa8db1b12702fcdd1fcb5a1b9bc5d7f2b2f3a..5da2e822702b219405abaa4f0a7b57072fe21268 100644 (file)
@@ -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 () {}
index 812c8d2cd4af2713ddc23c0d3664674e189c8f5c..86597b370e1ccacaa5a931456ecc6c706527dc6f 100644 (file)
@@ -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 () {}
index dd05a9a6c398c4607a2005d9129c33caf7496eb9..48d84fd421905788667e07ea9366b6697830b9d9 100644 (file)
@@ -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 () {}
index 5309ee2074fae849ffc9425defce1d43c02e08a0..e071934a947b348ee779dd2d940a138b49b3fba7 100644 (file)
@@ -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];
+    }]
+}