Use constexpr more with VC++ 2017 (#3707)
* Use constexpr more with VC++ 2017 Chrome's official builds have over 170 dynamic initializers for variables of the form *::TableStruct::aux. Defining PROTOBUF_CONSTEXPR_VAR to be constexpr for VS 2017 gets rid of all of these and saves about 10 KB of binary size. * Update generated_message_table_driven.h Restore accidentally deleted line.
This commit is contained in:
parent
fc5aa5d910
commit
210be267fd
@ -44,7 +44,8 @@
|
||||
// We require C++11 and Clang to use constexpr for variables, as GCC 4.8
|
||||
// requires constexpr to be consistent between declarations of variables
|
||||
// unnecessarily (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58541).
|
||||
#ifdef __clang__
|
||||
// VS 2017 Update 3 also supports this usage of constexpr.
|
||||
#if defined(__clang__) || (defined(_MSC_VER) && _MSC_VER >= 1911)
|
||||
#define PROTOBUF_CONSTEXPR_VAR constexpr
|
||||
#else // !__clang__
|
||||
#define PROTOBUF_CONSTEXPR_VAR
|
||||
|
Loading…
Reference in New Issue
Block a user