diff options
Diffstat (limited to 'third_party/qcms/google.patch')
-rw-r--r-- | third_party/qcms/google.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/qcms/google.patch b/third_party/qcms/google.patch index 6c1cc28..1084bfc2 100644 --- a/third_party/qcms/google.patch +++ b/third_party/qcms/google.patch @@ -781,3 +781,27 @@ index e8447e5..f68699d 100644 } struct matrix build_colorant_matrix(qcms_profile *p) +diff --git a/third_party/qcms/src/transform.c b/third_party/qcms/src/transform.c +index 976c498..44ce9b5 100644 +--- a/third_party/qcms/src/transform.c ++++ b/third_party/qcms/src/transform.c +@@ -1324,8 +1324,18 @@ qcms_transform* qcms_transform_create( + } + + #if defined(__GNUC__) && !defined(__x86_64__) && !defined(__amd64__) ++#if !defined(__has_attribute) ++/* Assume that the compiler supports the provided attribute. */ ++#define __has_attribute(x) 1 ++#endif ++#if __has_attribute(__force_align_arg_pointer__) + /* we need this to avoid crashes when gcc assumes the stack is 128bit aligned */ + __attribute__((__force_align_arg_pointer__)) ++#else ++/* __force_align_arg_pointer__ is an x86-only attribute, and clang warns on used ++ * attributes. Don't use this on ARM. ++ */ ++#endif + #endif + void qcms_transform_data(qcms_transform *transform, void *src, void *dest, size_t length) + { + |