Hi

Here is a patch to partially fix 2 string_view tests. It looks like we can't use 2 dg-options into the same source, one override the over, the dg-options directives have been merged into 1. I also update a script to make the experimental folder part of the folders to look for tests. I don't know if it was intentionally omitted because of the experimental aspect of what is tested, if so just tell me I won't apply this part.

Remaining failures in string_view tests in debug mode are all coming from this kind of code:

      constexpr const _CharT&
      operator[](size_type __pos) const
      {
    _GLIBCXX_DEBUG_ASSERT(__pos <= this->_M_len);
    return *(this->_M_str + __pos);
      }

In debug mode the _GLIBCXX_DEBUG_ASSERT is activated and the operator cannot be a constexpr anymore. Maybe Ed can tell what should be done, remove the assertion or remove the constexpr (maybe only in debug mode ?) ?

2014-01-15  François Dumont <fdum...@gcc.gnu.org>

    * scripts/create_testsuite_files: Add testsuite/experimental in
    the list of folders to introspect for tests.
    * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
    Merge dg-options directives into one.
    * testsuite/experimental/string_view/element_access/char/2.cc:
    Likewise. Remove invalid experimental namespace scope on
    string_view_type.

Tested under Linux x86_64 normal and debug modes.

François

Index: scripts/create_testsuite_files
===================================================================
--- scripts/create_testsuite_files	(revision 206587)
+++ scripts/create_testsuite_files	(working copy)
@@ -32,7 +32,7 @@
 # This is the ugly version of "everything but the current directory".  It's
 # what has to happen when find(1) doesn't support -mindepth, or -xtype.
 dlist=`echo [0-9][0-9]*`
-dlist="$dlist abi backward ext performance tr1 tr2 decimal"
+dlist="$dlist abi backward ext performance tr1 tr2 decimal experimental"
 find $dlist "(" -type f -o -type l ")" -name "*.cc" -print > $tmp.01
 find $dlist "(" -type f -o -type l ")" -name "*.c" -print > $tmp.02
 cat  $tmp.01 $tmp.02 | sort > $tmp.1
Index: testsuite/experimental/string_view/element_access/char/2.cc
===================================================================
--- testsuite/experimental/string_view/element_access/char/2.cc	(revision 206587)
+++ testsuite/experimental/string_view/element_access/char/2.cc	(working copy)
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++1y" }
 // { dg-do run { xfail *-*-* } }
-// { dg-options "-O0" }
+// { dg-options "-std=gnu++1y -O0" }
 // { dg-require-debug-mode "" }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
@@ -26,6 +25,6 @@
 main()
 {
   typedef std::experimental::string_view string_view_type;
-  experimental::string_view_type s;
+  string_view_type s;
   s[0]; // abort
 }
Index: testsuite/experimental/string_view/element_access/wchar_t/2.cc
===================================================================
--- testsuite/experimental/string_view/element_access/wchar_t/2.cc	(revision 206587)
+++ testsuite/experimental/string_view/element_access/wchar_t/2.cc	(working copy)
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++1y" }
 // { dg-do run { xfail *-*-* } }
-// { dg-options "-O0" }
+// { dg-options "-std=gnu++1y -O0" }
 // { dg-require-debug-mode "" }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.

Reply via email to