mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-04 03:44:59 +00:00
Fix build with GCC:
- GCC doesn't support #pragma mark, only Apple GCC and clang. Wrap the pragma mark's in #if 0 to make gcc ignore them but xcode still see them. - Wrap a bunch of "#pragma clang" lines in #ifdef __clang__. - Pacify gcc's -Wparenthesis in a case where it's quite reasonable. llvm-svn: 231344
This commit is contained in:
parent
c1d6ab9a1e
commit
5b2d125c92
@ -4711,7 +4711,7 @@ class arena
|
||||
|
||||
std::size_t
|
||||
align_up(std::size_t n) noexcept
|
||||
{return n + (alignment-1) & ~(alignment-1);}
|
||||
{return (n + (alignment-1)) & ~(alignment-1);}
|
||||
|
||||
bool
|
||||
pointer_in_buffer(char* p) noexcept
|
||||
|
@ -17,7 +17,9 @@
|
||||
|
||||
namespace __cxxabiv1 {
|
||||
|
||||
#if 0
|
||||
#pragma mark --Helper routines and classes --
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
inline static size_t __get_element_count ( void *p ) {
|
||||
@ -102,7 +104,9 @@ namespace {
|
||||
};
|
||||
}
|
||||
|
||||
#if 0
|
||||
#pragma mark --Externally visible routines--
|
||||
#endif
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
@ -219,8 +219,10 @@ __enum_type_info::can_catch(const __shim_type_info* thrown_type,
|
||||
return is_equal(this, thrown_type, false);
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
|
||||
// Handles bullets 1 and 2
|
||||
bool
|
||||
@ -246,7 +248,9 @@ __class_type_info::can_catch(const __shim_type_info* thrown_type,
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
void
|
||||
__class_type_info::process_found_base_class(__dynamic_cast_info* info,
|
||||
@ -351,8 +355,10 @@ __pbase_type_info::can_catch(const __shim_type_info* thrown_type,
|
||||
is_equal(thrown_type, &typeid(std::nullptr_t), false);
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
|
||||
// Handles bullets 1, 3 and 4
|
||||
// NOTE: It might not be safe to adjust the pointer if it is not not a pointer
|
||||
@ -403,13 +409,17 @@ __pointer_type_info::can_catch(const __shim_type_info* thrown_type,
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#pragma GCC visibility pop
|
||||
#pragma GCC visibility push(default)
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wmissing-field-initializers"
|
||||
#endif
|
||||
|
||||
// __dynamic_cast
|
||||
|
||||
@ -578,7 +588,9 @@ __dynamic_cast(const void* static_ptr,
|
||||
return const_cast<void*>(dst_ptr);
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#pragma GCC visibility pop
|
||||
#pragma GCC visibility push(hidden)
|
||||
|
Loading…
Reference in New Issue
Block a user