[PATCH] D93377: [Clang] Add __ibm128 type to represent ppc_fp128

Jonathan Wakely via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 23 04:06:53 PDT 2021


jwakely added inline comments.


================
Comment at: clang/lib/AST/ItaniumMangle.cpp:2668
   //                 ::= g  # __float128
+  //                 ::= g  # __ibm128
   // UNSUPPORTED:    ::= Dd # IEEE 754r decimal floating point (64 bits)
----------------
steven.zhang wrote:
> This is a bit confusing as the 'g' is for both __float128 and __ibm128. I know that PowerPC will mangle the __float128 as "u9__ieee128", and "g" for __ibm128. But c++filt demangle the "g" as __float128 which seems not right. 
The (de)mangling is very confusing, but that's consistent with gcc.
See comment 3 and 4 at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98389#c3

I think double-double should never have used `g` it should have been something else (e.g. `u8__ibm128`), and then we could have `g` for the `__ieee128` (aka `__float128`) type. But it is many years too late to change that now.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93377/new/

https://reviews.llvm.org/D93377



More information about the cfe-commits mailing list