summaryrefslogtreecommitdiffstats
path: root/libcxxabi
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-03-08 20:32:50 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-03-08 20:32:50 +0000
commit37c247c13c49ef365cdac3e206e5651586d9435c (patch)
tree9ca2d941b2bf064e27a3022ea012e90796dab34e /libcxxabi
parent8b0f3e05251562404adde606941dc4e0cc2ca15f (diff)
downloadbcm5719-llvm-37c247c13c49ef365cdac3e206e5651586d9435c.tar.gz
bcm5719-llvm-37c247c13c49ef365cdac3e206e5651586d9435c.zip
Enable/silence -Wmissing-field-initializers.
llvm-svn: 152334
Diffstat (limited to 'libcxxabi')
-rwxr-xr-xlibcxxabi/lib/buildit2
-rw-r--r--libcxxabi/src/private_typeinfo.cpp15
2 files changed, 16 insertions, 1 deletions
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<void*>(dst_ptr);
}
+#pragma clang diagnostic pop
+
#pragma GCC visibility pop
#pragma GCC visibility push(hidden)
OpenPOWER on IntegriCloud