From 37c247c13c49ef365cdac3e206e5651586d9435c Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Thu, 8 Mar 2012 20:32:50 +0000 Subject: Enable/silence -Wmissing-field-initializers. llvm-svn: 152334 --- libcxxabi/lib/buildit | 2 +- libcxxabi/src/private_typeinfo.cpp | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'libcxxabi') diff --git a/libcxxabi/lib/buildit b/libcxxabi/lib/buildit index 67d10591a38..e6870d2707a 100755 --- a/libcxxabi/lib/buildit +++ b/libcxxabi/lib/buildit @@ -29,7 +29,7 @@ fi EXTRA_FLAGS="-std=c++0x -stdlib=libc++ -fstrict-aliasing -Wstrict-aliasing=2 \ -Wsign-conversion -Wshadow -Wconversion -Wunused-variable \ - -Wnewline-eof" + -Wmissing-field-initializers -Wnewline-eof" case $TRIPLE in *-apple-*) diff --git a/libcxxabi/src/private_typeinfo.cpp b/libcxxabi/src/private_typeinfo.cpp index 7014ed2f559..8fa7975a517 100644 --- a/libcxxabi/src/private_typeinfo.cpp +++ b/libcxxabi/src/private_typeinfo.cpp @@ -152,6 +152,9 @@ __enum_type_info::can_catch(const __shim_type_info* thrown_type, return this == thrown_type; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wmissing-field-initializers" + // Handles bullets 1 and 2 bool __class_type_info::can_catch(const __shim_type_info* thrown_type, @@ -176,6 +179,8 @@ __class_type_info::can_catch(const __shim_type_info* thrown_type, return false; } +#pragma clang diagnostic pop + void __class_type_info::process_found_base_class(__dynamic_cast_info* info, void* adjustedPtr, @@ -277,6 +282,9 @@ __pbase_type_info::can_catch(const __shim_type_info* thrown_type, return thrown_type == &typeid(std::nullptr_t); } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wmissing-field-initializers" + // Handles bullets 1, 3 and 4 bool __pointer_type_info::can_catch(const __shim_type_info* thrown_type, @@ -319,9 +327,14 @@ __pointer_type_info::can_catch(const __shim_type_info* thrown_type, return false; } +#pragma clang diagnostic pop + #pragma GCC visibility pop #pragma GCC visibility push(default) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wmissing-field-initializers" + // __dynamic_cast // static_ptr: pointer to an object of type static_type; nonnull, and since the @@ -458,6 +471,8 @@ __dynamic_cast(const void* static_ptr, return const_cast(dst_ptr); } +#pragma clang diagnostic pop + #pragma GCC visibility pop #pragma GCC visibility push(hidden) -- cgit v1.2.1