This way GCC/Clang don't generate the magic static code to call the
pointless T::T() once in a threadsafe way. = {} is plenty initialized.
BUG=skia:2378
R=bungeman@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/
270353003
git-svn-id: http://skia.googlecode.com/svn/trunk@14623
2bbb7eff-a529-9590-31e7-
b0007b416f81
// We could just return NULL but it's sort of confusing to return NULL on success.
template <typename T>
SK_WHEN(SkTIsEmpty<T>, T*) allocCommand() {
- static T singleton;
+ static T singleton = {};
return &singleton;
}
#define RECORD0(T) \
struct T { \
static const Type kType = T##_Type; \
- T() {} \
};
// We try to be flexible about the types the constructors take. Instead of requring the exact type