PR libstdc++/91871
        * testsuite/util/testsuite_hooks.h
        (conversion::iterator_to_const_iterator()): Do not return an invalid
        iterator. Test direct-initialization and direct-list-initialization
        as well as implicit conversion.

Tested x86_64-linux, normal and debug mode. Committed to trunk.



commit a4d7bc903e708136f8f359a16bd7a982aff40881
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Sep 24 11:07:20 2019 +0100

    PR libstdc++/91871 fix Clang warnings in testsuite
    
            PR libstdc++/91871
            * testsuite/util/testsuite_hooks.h
            (conversion::iterator_to_const_iterator()): Do not return an invalid
            iterator. Test direct-initialization and direct-list-initialization
            as well as implicit conversion.

diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.h 
b/libstdc++-v3/testsuite/util/testsuite_hooks.h
index 51c431bf9c0..84a44faa710 100644
--- a/libstdc++-v3/testsuite/util/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/util/testsuite_hooks.h
@@ -326,13 +326,15 @@ namespace __gnu_test
       typedef typename _Container::const_iterator const_iterator;
 
       // Implicit conversion iterator to const_iterator.
-      static const_iterator
+      static void
       iterator_to_const_iterator()
       {
        _Container v;
-       const_iterator it = v.begin();
-       const_iterator end = v.end();
-       return it == end ? v.end() : it;
+       const_iterator i __attribute__((unused)) = const_iterator(v.begin());
+       const_iterator j __attribute__((unused)) = true ? i : v.begin();
+#if __cplusplus >= 201103L
+       const_iterator k __attribute__((unused)) { v.begin() };
+#endif
       }
     };
 

Reply via email to