Enable constexpr for VC++ 2017

VC++ 2017 fixes the internal compiler error which prevented using
constexpr for some BlendFormula arrays, so tweak the #ifdefs to
enable constexpr for 2017.

This gets rid of two constructors and slightly shrinks chrome_child.dll

BUG=chromium:341941

Change-Id: Ic4079b2da393ee89dd38da5bbb2d7c8ede8020e8
Reviewed-on: https://skia-review.googlesource.com/20160
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
This commit is contained in:
Bruce Dawson 2017-06-16 16:57:18 -07:00 committed by Skia Commit-Bot
parent 95d19f3ba2
commit f86d3680b1

View File

@ -267,8 +267,8 @@ static constexpr BlendFormula MakeCoverageDstCoeffZeroFormula(GrBlendCoeff srcCo
// Older GCC won't like the constexpr arrays because of
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61484.
// MSVC crashes with an internal compiler error.
#if !defined(__clang__) && ((defined(__GNUC__) && __GNUC__ < 5) || defined(_MSC_VER))
// MSVC 2015 crashes with an internal compiler error.
#if !defined(__clang__) && ((defined(__GNUC__) && __GNUC__ < 5) || (defined(_MSC_VER) && _MSC_VER <= 1910))
# define MAYBE_CONSTEXPR const
#else
# define MAYBE_CONSTEXPR constexpr