Index: src/core/SkLinearBitmapPipeline.h |
diff --git a/src/core/SkLinearBitmapPipeline.h b/src/core/SkLinearBitmapPipeline.h |
index d9fa97522ef6b04c2fde05e9bdc7c435c5cbebcf..91b573df5d8c5a95de93ff3b31a5c82741633c57 100644 |
--- a/src/core/SkLinearBitmapPipeline.h |
+++ b/src/core/SkLinearBitmapPipeline.h |
@@ -57,9 +57,6 @@ |
void shadeSpan4f(int x, int y, SkPM4f* dst, int count); |
void blitSpan(int32_t x, int32_t y, void* dst, int count); |
- template <size_t N> |
- using Storage = typename std::aligned_storage<N, 16>::type; |
- |
template<typename Base, size_t kSize, typename Next = void> |
class Stage { |
public: |
@@ -87,8 +84,11 @@ |
private: |
std::function<void (Next*, void*)> fStageCloner; |
- mutable Storage<kSize> fSpace; |
- bool fIsInitialized; |
+ struct SK_STRUCT_ALIGN(16) Space { |
+ char space[kSize]; |
+ }; |
+ bool fIsInitialized; |
+ mutable Space fSpace; |
}; |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
@@ -116,8 +116,11 @@ |
Base& operator*() const { return *(this->get()); } |
private: |
- mutable Storage<kSize> fSpace; |
- bool fIsInitialized; |
+ struct SK_STRUCT_ALIGN(16) Space { |
+ char space[kSize]; |
+ }; |
+ mutable Space fSpace; |
+ bool fIsInitialized; |
}; |