@@ -144,11 +144,12 @@ return alignment; } static size_t -#if defined(__clang__) && __clang_major__ == 3 && __clang_minor__ <= 7 +#if defined(__clang__) && __has_attribute(__optnone__) && \ + __clang_major__ == 3 && __clang_minor__ <= 7 /* Work around an ICE in Clang 3.7.0 on Windows/x86 */ __attribute__((__optnone__)) #endif alignmentOfEncoding(const char **type, size_t *length, bool inStruct) { @@ -438,11 +439,12 @@ return size; } static size_t -#if defined(__clang__) && __clang_major__ == 3 && __clang_minor__ <= 7 +#if defined(__clang__) && __has_attribute(__optnone__) && \ + __clang_major__ == 3 && __clang_minor__ <= 7 /* Work around an ICE in Clang 3.7.0 on Windows/x86 */ __attribute__((__optnone__)) #endif sizeOfEncoding(const char **type, size_t *length) {