diff options
Diffstat (limited to 'lldb/source')
-rw-r--r-- | lldb/source/Core/Mangled.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp index 60cd80fa2ee..3da10e5192b 100644 --- a/lldb/source/Core/Mangled.cpp +++ b/lldb/source/Core/Mangled.cpp @@ -11,7 +11,13 @@ // FreeBSD9-STABLE requires this to know about size_t in cxxabi.h #include <cstddef> #if defined(_MSC_VER) -// Cannot enable the builtin demangler on msvc as it does not support the cpp11 within the implementation. +#define LLDB_USE_BUILTIN_DEMANGLER +// MSVC doesn't support constexpr, alignas, __attribute__ and noexcept yet +#define constexpr +#define alignas(X) +#define __attribute__(X) +#define noexcept +#define snprintf _snprintf #elif defined (__FreeBSD__) #define LLDB_USE_BUILTIN_DEMANGLER #else @@ -173,30 +179,30 @@ struct float_data<float> { static const size_t mangled_size = 8; static const size_t max_demangled_size = 24; - static constexpr const char* spec = "%af"; + static constexpr const char* spec; }; -constexpr const char* float_data<float>::spec; +constexpr const char* float_data<float>::spec = "%af"; template <> struct float_data<double> { static const size_t mangled_size = 16; static const size_t max_demangled_size = 32; - static constexpr const char* spec = "%a"; + static constexpr const char* spec; }; -constexpr const char* float_data<double>::spec; +constexpr const char* float_data<double>::spec = "%a"; template <> struct float_data<long double> { static const size_t mangled_size = 20; // May need to be adjusted to 16 or 24 on other platforms static const size_t max_demangled_size = 40; - static constexpr const char* spec = "%LaL"; + static constexpr const char* spec; }; -constexpr const char* float_data<long double>::spec; +constexpr const char* float_data<long double>::spec = "%LaL"; template <class Float, class C> const char* |