diff options
| author | Eric Fiselier <eric@efcs.ca> | 2015-07-18 21:17:16 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2015-07-18 21:17:16 +0000 |
| commit | 5fd308971d84277e2107c2e7ac4a29386d2e34c1 (patch) | |
| tree | c82fe2cda06151b7e715d6327e50b79e97ebc5d6 /libcxx | |
| parent | 87a82490fc6b89fd3dfe033054e1bdc6b87fd9f4 (diff) | |
| download | bcm5719-llvm-5fd308971d84277e2107c2e7ac4a29386d2e34c1.tar.gz bcm5719-llvm-5fd308971d84277e2107c2e7ac4a29386d2e34c1.zip | |
Fix warnings in test/std/language.support
llvm-svn: 242624
Diffstat (limited to 'libcxx')
10 files changed, 44 insertions, 9 deletions
diff --git a/libcxx/test/libcxx/compiler.py b/libcxx/test/libcxx/compiler.py index 7afbed461e3..24ac431e22d 100644 --- a/libcxx/test/libcxx/compiler.py +++ b/libcxx/test/libcxx/compiler.py @@ -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 diff --git a/libcxx/test/libcxx/test/config.py b/libcxx/test/libcxx/test/config.py index 09fbf66dbba..8e421f34d23 100644 --- a/libcxx/test/libcxx/test/config.py +++ b/libcxx/test/libcxx/test/config.py @@ -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() diff --git a/libcxx/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp b/libcxx/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp index 6b799a3e83d..38e040c98e1 100644 --- a/libcxx/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp @@ -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); } diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp index 5a87c073878..a1a30352926 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp @@ -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&) diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp index 58aa3f2d529..5dc9f710ab7 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp @@ -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&) diff --git a/libcxx/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp b/libcxx/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp index 232ce0a5a88..46e212662a2 100644 --- a/libcxx/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp +++ b/libcxx/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp @@ -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); } diff --git a/libcxx/test/std/language.support/support.runtime/csignal.pass.cpp b/libcxx/test/std/language.support/support.runtime/csignal.pass.cpp index 717347df7f0..a42363f8b27 100644 --- a/libcxx/test/std/language.support/support.runtime/csignal.pass.cpp +++ b/libcxx/test/std/language.support/support.runtime/csignal.pass.cpp @@ -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), ""); diff --git a/libcxx/test/std/language.support/support.runtime/cstdarg.pass.cpp b/libcxx/test/std/language.support/support.runtime/cstdarg.pass.cpp index 059ad2f4ff9..9d6f610a943 100644 --- a/libcxx/test/std/language.support/support.runtime/cstdarg.pass.cpp +++ b/libcxx/test/std/language.support/support.runtime/cstdarg.pass.cpp @@ -32,4 +32,5 @@ int main() { std::va_list va; + ((void)va); } diff --git a/libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp b/libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp index 073949122b0..d1b335cd204 100644 --- a/libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp +++ b/libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp @@ -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), ""); diff --git a/libcxx/test/std/language.support/support.runtime/ctime.pass.cpp b/libcxx/test/std/language.support/support.runtime/ctime.pass.cpp index 8c5d2811d8a..03a0aa4d696 100644 --- a/libcxx/test/std/language.support/support.runtime/ctime.pass.cpp +++ b/libcxx/test/std/language.support/support.runtime/ctime.pass.cpp @@ -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}; |

