Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: include/core/SkTypes.h

Issue 2135453002: Promote the GCC/libc++/<memory> 'typedef float float32_t' workaround to SkTypes.h (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Address comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/core/SkSharedMutex.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkTypes.h
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index 4e95c69f3229cdfc63b95cd2e1fa6bdaeccd8caf..b38268231df1a818d913d559e68e33a0d3dd32b1 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -9,6 +9,22 @@
#define SkTypes_DEFINED
// IWYU pragma: begin_exports
+
+// In at least two known scenarios when using GCC with libc++:
+// * GCC 4.8 targeting ARMv7 with NEON
+// * GCC 4.9 targeting ARMv8 64 bit
+// we need to typedef float float32_t (or include <arm_neon.h> which does that)
+// before #including <memory>. This makes no sense. I'm not very interested in
+// understanding why... these are old, bizarre platform configuration that we
+// should just let die.
+#include <ciso646> // Include something innocuous to define _LIBCPP_VERISON if it's libc++.
+#if defined(__GNUC__) && __GNUC__ == 4 \
+ && ((defined(SK_CPU_ARM32) && defined(SK_ARM_HAS_NEON)) || defined(SK_CPU_ARM64)) \
+ && defined(_LIBCPP_VERSION)
+ typedef float float32_t;
+ #include <memory>
+#endif
+
#include "SkPreConfig.h"
#include "SkUserConfig.h"
#include "SkPostConfig.h"
« no previous file with comments | « no previous file | src/core/SkSharedMutex.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698