Message ID | 52D6BDC7.1000803@gmail.com |
---|---|
State | New |
Headers | show |
On 15 January 2014 16:56, François Dumont wrote: > 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. I think it's OK. > 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 ?) ? I think we decided we want functions to be constexpr in debug mode if they are constexpr in normal mode. I think std::array has solved the same problem without losing the constexpr qualifier. > 2014-01-15 François Dumont <fdumont@gcc.gnu.org> > > * scripts/create_testsuite_files: Add testsuite/experimental in > the list of folders to introspect for tests. s/introspect/inspect/ The patch is OK with that change, thanks.,
On 01/15/2014 06:17 PM, Jonathan Wakely wrote: > I think we decided we want functions to be constexpr in debug mode if > they are constexpr in normal mode. > > I think std::array has solved the same problem without losing the > constexpr qualifier. Yes, I think the only complete solution we know of is that kind of strategy. But IMO it could wait, for the time being we could just comment out the checks and add comments about that (make sure first that the various make check* are clean as we are approaching the release of 4.9.0) Paolo.
On 15 January 2014 17:22, Paolo Carlini wrote: > On 01/15/2014 06:17 PM, Jonathan Wakely wrote: >> >> I think we decided we want functions to be constexpr in debug mode if >> they are constexpr in normal mode. >> >> I think std::array has solved the same problem without losing the >> constexpr qualifier. > > Yes, I think the only complete solution we know of is that kind of strategy. > But IMO it could wait, for the time being we could just comment out the > checks and add comments about that (make sure first that the various make > check* are clean as we are approaching the release of 4.9.0) Yes, that would be the safest option. The assertions are not essential.
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.