aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sfnt/SkTypedEnum.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sfnt/SkTypedEnum.h')
-rw-r--r--src/sfnt/SkTypedEnum.h68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/sfnt/SkTypedEnum.h b/src/sfnt/SkTypedEnum.h
deleted file mode 100644
index 19d57acf0a..0000000000
--- a/src/sfnt/SkTypedEnum.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkTypedEnum_DEFINED
-#define SkTypedEnum_DEFINED
-
-#include "SkPreprocessorSeq.h"
-
-//Compatibility with non-clang compilers.
-#ifndef __has_feature
- #define __has_feature(x) 0
-#endif
-#ifndef __has_extension
- #define __has_extension __has_feature
-#endif
-
-//Detect if typed enums are supported.
-#if defined(_MSC_VER)
- #define SK_TYPED_ENUMS
-
-#elif defined(__clang__) && __has_extension(cxx_strong_enums)
- #define SK_TYPED_ENUMS
-
-// Scoped enums are buggy in GCC 4.4.0 through 4.5.1.
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-// __cplusplus should actually be accurate now.
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773
-#elif defined(__GNUC__) && (((__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ >= 40501) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || __cplusplus >= 201103L)
- #define SK_TYPED_ENUMS
-#endif
-
-//Define what a typed enum looks like.
-#ifdef SK_TYPED_ENUMS
-
- #define SK_TYPED_ENUM_VALUES(data, elem) \
- SK_PAIR_FIRST(elem) = SK_PAIR_SECOND(elem),
-
- #define SK_TYPED_ENUM_IDS(data, elem) \
- elem,
-
- #define SK_TYPED_ENUM_IDS_L(data, elem) \
- elem
-
- #define SK_TYPED_ENUM(enumName, enumType, enumSeq, idSeq) \
- enum enumName : enumType { \
- SK_SEQ_FOREACH(SK_TYPED_ENUM_VALUES, _, enumSeq) \
- } SK_SEQ_FOREACH_L(SK_TYPED_ENUM_IDS, SK_TYPED_ENUM_IDS_L, _, idSeq);
-
-#else
-
- #define SK_TYPED_ENUM_VALUES(enumType, elem) \
- static const enumType SK_PAIR_FIRST(elem) = SK_PAIR_SECOND(elem);
-
- #define SK_TYPED_ENUM_IDS(enumType, elem) \
- enumType elem;
-
- #define SK_TYPED_ENUM(enumName, enumType, enumSeq, idSeq) \
- typedef enumType enumName; \
- SK_SEQ_FOREACH(SK_TYPED_ENUM_VALUES, enumType, enumSeq) \
- SK_SEQ_FOREACH(SK_TYPED_ENUM_IDS, enumType, idSeq)
-
-#endif
-
-#endif