[libcxxabi] r243645 - [libcxxabi][mips] Correct float_data::mangled_size for all ABI's.

Daniel Sanders daniel.sanders at imgtec.com
Thu Jul 30 09:11:05 PDT 2015


Author: dsanders
Date: Thu Jul 30 11:11:04 2015
New Revision: 243645

URL: http://llvm.org/viewvc/llvm-project?rev=243645&view=rev
Log:
[libcxxabi][mips] Correct float_data::mangled_size for all ABI's.

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

Modified:
    libcxxabi/trunk/src/cxa_demangle.cpp

Modified: libcxxabi/trunk/src/cxa_demangle.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp?rev=243645&r1=243644&r2=243645&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_demangle.cpp (original)
+++ libcxxabi/trunk/src/cxa_demangle.cpp Thu Jul 30 11:11:04 2015
@@ -156,7 +156,9 @@ constexpr const char* float_data<double>
 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





More information about the cfe-commits mailing list