[gcc(refs/users/aoliva/heads/testme)] Split wchars tests from the normal variant

Alexandre Oliva aoliva@gcc.gnu.org
Fri Jan 1 01:29:15 GMT 2021


https://gcc.gnu.org/g:df941d9e7491c782210dfb2bbb11ee4bf1e6cb25

commit df941d9e7491c782210dfb2bbb11ee4bf1e6cb25
Author: Corentin Gay <gay@adacore.com>
Date:   Thu Dec 31 21:37:40 2020 -0300

    Split wchars tests from the normal variant
    
    This change extracts apart the wchar specific parts of character
    conversion tests to allow conditonalizating these parts on actual
    wchar support while applying the rest more generally.
    
    This turned out useful during our work on the libstdc++ support
    for VxWorks, to expose the problematic areas more precisely.
    
    
    for  libstdc++-v3/ChangeLog
    
            * testsuite/20_util/from_chars/1_neg.cc: Split wchar specific
            part into...
            * testsuite/20_util/from_chars/1_neg_wchar.cc: ... new file.

Diff:
---
 libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc |  8 -----
 .../testsuite/20_util/from_chars/1_neg_wchar.cc    | 35 ++++++++++++++++++++++
 2 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc b/libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc
index 0d2fe2b3e65..a84b0f5efb0 100644
--- a/libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc
@@ -23,14 +23,6 @@
 void
 test01(const char* first, const char* last)
 {
-#if _GLIBCXX_USE_WCHAR_T
-  wchar_t wc;
-#else
-  enum W { } wc;
-#endif
-  std::from_chars(first, last, wc); // { dg-error "no matching" }
-  std::from_chars(first, last, wc, 10); // { dg-error "no matching" }
-
   char16_t c16;
   std::from_chars(first, last, c16); // { dg-error "no matching" }
   std::from_chars(first, last, c16, 10); // { dg-error "no matching" }
diff --git a/libstdc++-v3/testsuite/20_util/from_chars/1_neg_wchar.cc b/libstdc++-v3/testsuite/20_util/from_chars/1_neg_wchar.cc
new file mode 100644
index 00000000000..2d736a28a2d
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/from_chars/1_neg_wchar.cc
@@ -0,0 +1,35 @@
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
+// { dg-require-wchars {} }
+
+#include <charconv>
+
+void
+test01(const char* first, const char* last)
+{
+#if _GLIBCXX_USE_WCHAR_T
+  wchar_t wc;
+#else
+  enum W { } wc;
+#endif
+
+  std::from_chars(first, last, wc); // { dg-error "no matching" }
+  std::from_chars(first, last, wc, 10); // { dg-error "no matching" }
+}


More information about the Libstdc++-cvs mailing list