www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17990] New: Type.toChars() returns null and Type.size()

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

          Issue ID: 17990
           Summary: Type.toChars() returns null and Type.size() returns
                    nonsense on 32-bit platforms only
           Product: D
           Version: D2
          Hardware: x86
                OS: All
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: slavo5150 yahoo.com

This bug was found in this PR (https://github.com/dlang/dmd/pull/7332)
in this
code:(https://github.com/JinShil/dmd/blob/1cf383600f21394b12e2077ae97c4944f53c5e2b/src/ddmd/expressionsem.d#L7622-L7636)

On 32-bit platforms `p2.toChars()` always returns null and `p2.size()` returns
nonsense.  On 64-bit platforms they're fine.

For example, the error message always appears like this on 32-bit platforms:

Deprecation: Operands point to types of different size; void (1 bytes), (null)
(158464776 bytes).

It should appear like this (as it does on 64-bit platforms):

Deprecation: Operands point to types of different size; void (1 bytes), ulong
(8 bytes).

See the results of the auto-tester in the aforementioned PR for more details.

--
Nov 17