mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-26 06:31:50 +08:00
GCC fix: Disable -Wmultichar warning throughout Crashpad
-Wmultichar is enabled by default with GCC (but not clang). It is impossible to disable this warning with #pragma GCC diagnostic ignored. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431 While compiling, for example, minidump_file_writer.cc: In file included from ../../minidump/minidump_extensions.h:25:0, from ../../minidump/minidump_file_writer.h:27, from ../../minidump/minidump_file_writer.cc:15: ../../util/misc/pdb_structures.h:45:38: error: multi-character character constan t [-Werror=multichar] static const uint32_t kSignature = '01BN'; ^~~~~~ ../../util/misc/pdb_structures.h:106:38: error: multi-character character consta nt [-Werror=multichar] static const uint32_t kSignature = 'SDSR'; ^~~~~~ ../../minidump/minidump_file_writer.cc:190:23: error: multi-character character constant [-Werror=multichar] header_.Signature = MINIDUMP_SIGNATURE; ^~~~~~~~~~~~~~~~~~ doc/developing.md is also updated to provide GCC build instructions for Android. Tested with: - GCC 4.9 from NDK r13 targeting arm with SDK 16 - GCC 4.9 from NDK r13 targeting arm64 with SDK 21 - GCC 6.2 targeting x86_64 BUG=crashpad:30 Change-Id: I9e7993761f5461281c9f4d8b4c56e8407e2c5b47 Reviewed-on: https://chromium-review.googlesource.com/409776 Reviewed-by: Robert Sesek <rsesek@chromium.org>
This commit is contained in:
parent
1382618fbe
commit
dd85381a32
@ -25,5 +25,16 @@
|
||||
4201, # nonstandard extension used : nameless struct/union.
|
||||
4324, # structure was padded due to __declspec(align()).
|
||||
],
|
||||
'conditions': [
|
||||
['OS=="linux" or OS=="android"', {
|
||||
'conditions': [
|
||||
['clang==0', {
|
||||
'cflags': [
|
||||
'-Wno-multichar',
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
}
|
||||
|
@ -154,7 +154,12 @@ $ CC_target=~/android-ndk-r13_arm64_api21/bin/clang \
|
||||
--generator-output=out_android_arm64_api21 -f ninja-android
|
||||
```
|
||||
|
||||
Target “triplets” to use for `ar`, `nm`, and `readelf` are:
|
||||
It is also possible to use GCC instead of Clang by making the appropriate
|
||||
substitutions: `aarch64-linux-android-gcc` for `CC_target`;
|
||||
`aarch64-linux-android-g++` for `CXX_target`; and `-Dclang=0` as an argument to
|
||||
`gyp_crashpad.py`.
|
||||
|
||||
Target “triplets” to use for `ar`, `nm`, `readelf`, `gcc`, and `g++` are:
|
||||
|
||||
| Architecture | Target “triplet” |
|
||||
|:-------------|:------------------------|
|
||||
|
Loading…
x
Reference in New Issue
Block a user