www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 22806] New: cppmangle: Complex real mangled incorrectly

https://issues.dlang.org/show_bug.cgi?id=22806

          Issue ID: 22806
           Summary: cppmangle: Complex real mangled incorrectly
           Product: D
           Version: D2
          Hardware: PowerPC
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: ibuclaw gdcproject.org

On PPC64, `real` could either be mapped to a C `long double` or a `__float128`
type.

The former uses the IBM 128-bit, and is mangled as 'g', the latter is IEEE
128-bit, and is mangled as 'u9__ieee128'.

Both are not correctly accounted for in neither TypeEnum (special types), nor
TypeBasic (complex types).

--
Feb 21 2022