diff options
author | Brian Salomon <bsalomon@google.com> | 2021-10-08 18:48:26 -0400 |
---|---|---|
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | 2021-10-11 16:22:59 +0000 |
commit | 9fa47cc1c65dac062505226d3c9432c7251dd550 (patch) | |
tree | f9bd7e02c9796851cd8103bff88a40d285782057 /gm/rrects.cpp | |
parent | 3062759ffd856dc65cbd4a308b604b21808009bf (diff) | |
download | skia-9fa47cc1c65dac062505226d3c9432c7251dd550.tar.gz |
Make class members that are static constexpr also be inline.
This is in prep for compiling with -std=c++14 and -Wno-c++17-extensions
when building with clang. Chrome has encountered problems with
third_party headers that are included both in Skia and other Chrome
sources that produce different code based on whether preprocessor macros
indicate a C++14 or C++17 compilation.
In C++17 they are already inline implicitly. When compiling with C++14
we can get linker errors unless they're explicitly inlined or defined
outside the class. With -Wno-c++17-extensions we can explicitly inline
them in the C++14 build because the warning that would be generated
about using a C++17 language extension is suppressed.
We cannot do this in public headers because we support compiling with
C++14 without suppressing the C++17 language extension warnings.
Bug: chromium:1257145
Change-Id: Iaf5f4c62a398f98dd4ca9b7dfb86f2d5cab21d66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/457498
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'gm/rrects.cpp')
-rw-r--r-- | gm/rrects.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gm/rrects.cpp b/gm/rrects.cpp index e056b7aa16..337ad8476e 100644 --- a/gm/rrects.cpp +++ b/gm/rrects.cpp @@ -188,17 +188,18 @@ protected: private: Type fType; - static constexpr int kImageWidth = 640; - static constexpr int kImageHeight = 480; + inline static constexpr int kImageWidth = 640; + inline static constexpr int kImageHeight = 480; - static constexpr int kTileX = 80; - static constexpr int kTileY = 40; + inline static constexpr int kTileX = 80; + inline static constexpr int kTileY = 40; + + inline static constexpr int kNumSimpleCases = 7; + inline static constexpr int kNumComplexCases = 35; - static constexpr int kNumSimpleCases = 7; - static constexpr int kNumComplexCases = 35; static const SkVector gRadii[kNumComplexCases][4]; - static constexpr int kNumRRects = kNumSimpleCases + kNumComplexCases; + inline static constexpr int kNumRRects = kNumSimpleCases + kNumComplexCases; SkRRect fRRects[kNumRRects]; using INHERITED = GM; |