summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Mangled.cpp
diff options
context:
space:
mode:
authorEd Maste <emaste@freebsd.org>2014-04-08 17:02:25 +0000
committerEd Maste <emaste@freebsd.org>2014-04-08 17:02:25 +0000
commit42c549b3466684498f475381db0f06425fe7de98 (patch)
tree653014c259cf48014d9a9cef5b81991fdc05bdf7 /lldb/source/Core/Mangled.cpp
parentc6574c1aa3b3e0f1e4ce5732188d61642c1c7d19 (diff)
downloadbcm5719-llvm-42c549b3466684498f475381db0f06425fe7de98.tar.gz
bcm5719-llvm-42c549b3466684498f475381db0f06425fe7de98.zip
Revert r205769 as it breaks the build on FreeBSD:
error: declaration of constexpr static data member 'spec' requires an initializer llvm-svn: 205776
Diffstat (limited to 'lldb/source/Core/Mangled.cpp')
-rw-r--r--lldb/source/Core/Mangled.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp
index 3da10e5192b..60cd80fa2ee 100644
--- a/lldb/source/Core/Mangled.cpp
+++ b/lldb/source/Core/Mangled.cpp
@@ -11,13 +11,7 @@
// FreeBSD9-STABLE requires this to know about size_t in cxxabi.h
#include <cstddef>
#if defined(_MSC_VER)
-#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
+// Cannot enable the builtin demangler on msvc as it does not support the cpp11 within the implementation.
#elif defined (__FreeBSD__)
#define LLDB_USE_BUILTIN_DEMANGLER
#else
@@ -179,30 +173,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;
+ static constexpr const char* spec = "%af";
};
-constexpr const char* float_data<float>::spec = "%af";
+constexpr const char* float_data<float>::spec;
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;
+ static constexpr const char* spec = "%a";
};
-constexpr const char* float_data<double>::spec = "%a";
+constexpr const char* float_data<double>::spec;
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;
+ static constexpr const char* spec = "%LaL";
};
-constexpr const char* float_data<long double>::spec = "%LaL";
+constexpr const char* float_data<long double>::spec;
template <class Float, class C>
const char*
OpenPOWER on IntegriCloud