Robert Sesek posted comments on GCC fix: Disable -Wmultichar warning throughout Crashpad.
To view, visit this change. To unsubscribe, visit settings.
Mark Mentovai merged GCC fix: Disable -Wmultichar warning throughout Crashpad.
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 <rse...@chromium.org> --- M build/crashpad.gypi M doc/developing.md 2 files changed, 17 insertions(+), 1 deletion(-)
Approvals: Robert Sesek: Looks good to me
diff --git a/build/crashpad.gypi b/build/crashpad.gypi
index 027c7b6..166e768 100644
--- a/build/crashpad.gypi
+++ b/build/crashpad.gypi
@@ -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',
+ ],
+ }],
+ ],
+ }],
+ ],
},
}
diff --git a/doc/developing.md b/doc/developing.md
index 229e7b0..9f88167 100644
--- a/doc/developing.md
+++ b/doc/developing.md
@@ -154,7 +154,12 @@
--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” |
|:-------------|:------------------------|
To view, visit this change. To unsubscribe, visit settings.