[libcxx] r242624 - Fix warnings in test/std/language.support

Eric Fiselier eric at efcs.ca
Sat Jul 18 14:17:16 PDT 2015


Author: ericwf
Date: Sat Jul 18 16:17:16 2015
New Revision: 242624

URL: http://llvm.org/viewvc/llvm-project?rev=242624&view=rev
Log:
Fix warnings in test/std/language.support

Modified:
    libcxx/trunk/test/libcxx/compiler.py
    libcxx/trunk/test/libcxx/test/config.py
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/csignal.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/cstdarg.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/cstdlib.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/ctime.pass.cpp

Modified: libcxx/trunk/test/libcxx/compiler.py
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/compiler.py?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/compiler.py (original)
+++ libcxx/trunk/test/libcxx/compiler.py Sat Jul 18 16:17:16 2015
@@ -150,3 +150,14 @@ class CXXCompiler(object):
         cmd, out, err, rc = self.compile(os.devnull, out=os.devnull,
                                          flags=flags)
         return rc == 0
+
+    def addCompileFlagIfSupported(self, flag):
+        if isinstance(flag, list):
+            flags = list(flag)
+        else:
+            flags = [flag]
+        if self.hasCompileFlag(flags):
+            self.compile_flags += flags
+            return True
+        else:
+            return False

Modified: libcxx/trunk/test/libcxx/test/config.py
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/test/config.py?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/test/config.py (original)
+++ libcxx/trunk/test/libcxx/test/config.py Sat Jul 18 16:17:16 2015
@@ -570,10 +570,9 @@ class Configuration(object):
     def configure_warnings(self):
         enable_warnings = self.get_lit_bool('enable_warnings', False)
         if enable_warnings:
-            self.cxx.compile_flags += ['-Wsystem-headers', '-Wall', '-Werror']
-            if ('clang' in self.config.available_features or
-                'apple-clang' in self.config.available_features):
-                self.cxx.compile_flags += ['-Wno-user-defined-literals']
+            self.cxx.compile_flags += ['-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER',
+                '-Wall', '-Werror']
+            self.cxx.addCompileFlagIfSupported('-Wno-user-defined-literals')
 
     def configure_sanitizer(self):
         san = self.get_lit_conf('use_sanitizer', '').strip()

Modified: libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp Sat Jul 18 16:17:16 2015
@@ -10,10 +10,14 @@
 // test new_handler
 
 #include <new>
+#include <type_traits>
+#include <cassert>
 
 void f() {}
 
 int main()
 {
+    static_assert(std::is_same<std::new_handler, void(*)()>::value, "");
     std::new_handler p = f;
+    assert(p == &f);
 }

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp Sat Jul 18 16:17:16 2015
@@ -38,7 +38,8 @@ int main()
     std::set_new_handler(new_handler);
     try
     {
-        void*volatile vp = operator new[] (std::numeric_limits<std::size_t>::max());
+        void* volatile vp = operator new[] (std::numeric_limits<std::size_t>::max());
+        ((void)vp);
         assert(false);
     }
     catch (std::bad_alloc&)

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp Sat Jul 18 16:17:16 2015
@@ -39,6 +39,7 @@ int main()
     try
     {
         void* vp = operator new (std::numeric_limits<std::size_t>::max());
+        ((void)vp);
         assert(false);
     }
     catch (std::bad_alloc&)

Modified: libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp Sat Jul 18 16:17:16 2015
@@ -10,10 +10,14 @@
 // test terminate_handler
 
 #include <exception>
+#include <type_traits>
+#include <cassert>
 
 void f() {}
 
 int main()
 {
+    static_assert(std::is_same<std::terminate_handler, void(*)()>::value, "");
     std::terminate_handler p = f;
+    assert(p == &f);
 }

Modified: libcxx/trunk/test/std/language.support/support.runtime/csignal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.runtime/csignal.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.runtime/csignal.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.runtime/csignal.pass.cpp Sat Jul 18 16:17:16 2015
@@ -50,7 +50,8 @@
 
 int main()
 {
-    std::sig_atomic_t sig;
+    std::sig_atomic_t sig = 0;
+    ((void)sig);
     typedef void (*func)(int);
     static_assert((std::is_same<decltype(std::signal(0, (func)0)), func>::value), "");
     static_assert((std::is_same<decltype(std::raise(0)), int>::value), "");

Modified: libcxx/trunk/test/std/language.support/support.runtime/cstdarg.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.runtime/cstdarg.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.runtime/cstdarg.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.runtime/cstdarg.pass.cpp Sat Jul 18 16:17:16 2015
@@ -32,4 +32,5 @@
 int main()
 {
     std::va_list va;
+    ((void)va);
 }

Modified: libcxx/trunk/test/std/language.support/support.runtime/cstdlib.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.runtime/cstdlib.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.runtime/cstdlib.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.runtime/cstdlib.pass.cpp Sat Jul 18 16:17:16 2015
@@ -11,6 +11,7 @@
 
 #include <cstdlib>
 #include <type_traits>
+#include <cassert>
 
 #ifndef EXIT_FAILURE
 #error EXIT_FAILURE not defined
@@ -32,12 +33,23 @@
 #error RAND_MAX not defined
 #endif
 
+template <class TestType, class IntType>
+void test_div_struct() {
+    TestType obj;
+    static_assert(sizeof(obj) >= sizeof(IntType) * 2, ""); // >= to account for alignment.
+    static_assert(std::is_same<decltype(obj.quot), IntType>::value, "");
+    static_assert(std::is_same<decltype(obj.rem), IntType>::value, "");
+    ((void) obj);
+};
+
 int main()
 {
     std::size_t s = 0;
-    std::div_t d;
-    std::ldiv_t ld;
-    std::lldiv_t lld;
+    ((void)s);
+    static_assert(std::is_same<std::size_t, decltype(sizeof(int))>::value, "");
+    test_div_struct<std::div_t, int>();
+    test_div_struct<std::ldiv_t, long>();
+    test_div_struct<std::lldiv_t, long long>();
     char** endptr = 0;
     static_assert((std::is_same<decltype(std::atof("")), double>::value), "");
     static_assert((std::is_same<decltype(std::atoi("")), int>::value), "");

Modified: libcxx/trunk/test/std/language.support/support.runtime/ctime.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.runtime/ctime.pass.cpp?rev=242624&r1=242623&r2=242624&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.runtime/ctime.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.runtime/ctime.pass.cpp Sat Jul 18 16:17:16 2015
@@ -23,6 +23,7 @@
 int main()
 {
     std::clock_t c = 0;
+    ((void)c);
     std::size_t s = 0;
     std::time_t t = 0;
     std::tm tm = {0};





More information about the cfe-commits mailing list