[libcxxabi][mips] Correct float_data::mangled_size for all ABI's.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 30 Jul 2015 16:11:04 +0000 (16:11 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 30 Jul 2015 16:11:04 +0000 (16:11 +0000)
Summary:
Patch by Nitesh Jain and Jaydeep Patil with a small revision to use ABIs rather
than Architecture Revisions (which currently imply particular ABIs).

Fixes test_demangle.pass.cpp (PR24149).

Subscribers: mclow.lists, jaydeep, nitesh.jain, hans, cfe-commits

Differential Revision: http://reviews.llvm.org/D11483

llvm-svn: 243645

libcxxabi/src/cxa_demangle.cpp

index d80843e..f2878f3 100644 (file)
@@ -156,7 +156,9 @@ constexpr const char* float_data<double>::spec;
 template <>
 struct float_data<long double>
 {
-#if defined(__arm__)
+#if defined(__mips__) && defined(__mips_n64)
+    static const size_t mangled_size = 32;
+#elif defined(__arm__) || defined(__mips__)
     static const size_t mangled_size = 16;
 #else
     static const size_t mangled_size = 20;  // May need to be adjusted to 16 or 24 on other platforms