One of the test strings is empty, so we shouldn't use front() on it.

        * testsuite/experimental/filesystem/path/construct/range.cc: Don't
        use basic_string::front() when string might be empty.

Tested x86_64-linux, committing to trunk.

commit 116f2615e837bb6f4ed6f6b951205a5be717e910
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Dec 8 12:37:04 2016 +0000

    Fix filesystem test that fails in debug mode
    
        * testsuite/experimental/filesystem/path/construct/range.cc: Don't
        use basic_string::front() when string might be empty.

diff --git 
a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc 
b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
index 3dfec2f..9e51e0a 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
@@ -59,13 +59,14 @@ test01()
     using __gnu_test::test_container;
     using __gnu_test::input_iterator_wrapper;
     // Test with input iterators and const value_types
+
     test_container<char, input_iterator_wrapper>
-      r1(&s.front(), &s.front() + s.size());
+      r1((char*)s.c_str(), (char*)s.c_str() + s.size());
     path p9(r1.begin(), r1.end());
     compare_paths(p1, p9);
 
     test_container<char, input_iterator_wrapper>
-      r2(&s.front(), &s.front() + s.size() + 1); // includes null-terminator
+      r2((char*)s.c_str(), (char*)s.c_str() + s.size() + 1); // includes 
null-terminator
     path p10(r2.begin());
     compare_paths(p1, p10);
 
@@ -82,12 +83,12 @@ test01()
 #if _GLIBCXX_USE_WCHAR_T
     // Test with input iterators and const value_types
     test_container<wchar_t, input_iterator_wrapper>
-      r5(&ws.front(), &ws.front() + ws.size());
+      r5((wchar_t*)ws.c_str(), (wchar_t*)ws.c_str() + ws.size());
     path p13(r5.begin(), r5.end());
     compare_paths(p1, p13);
 
     test_container<wchar_t, input_iterator_wrapper>
-      r6(&ws.front(), &ws.front() + ws.size() + 1); // includes null-terminator
+      r6((wchar_t*)ws.c_str(), (wchar_t*)ws.c_str() + ws.size() + 1); // 
includes null-terminator
     path p14(r6.begin());
     compare_paths(p1, p14);
 

Reply via email to