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.