summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/buildit2
-rw-r--r--src/private_typeinfo.cpp15
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/buildit b/lib/buildit
index 67d1059..e6870d2 100755
--- a/lib/buildit
+++ b/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/src/private_typeinfo.cpp b/src/private_typeinfo.cpp
index 7014ed2..8fa7975 100644
--- a/src/private_typeinfo.cpp
+++ b/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)