[PATCH] PR libstdc++/91871 fix Clang warnings in testsuite

Jonathan Wakely jwakely@redhat.com
Tue Sep 24 10:09:00 GMT 2019


	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.



-------------- next part --------------
commit a4d7bc903e708136f8f359a16bd7a982aff40881
Author: Jonathan Wakely <jwakely@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
       }
     };
 


More information about the Libstdc++ mailing list