www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21535] New: dtoh: Insufficient size_t/ptrdiff_t detection

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

          Issue ID: 21535
           Summary: dtoh: Insufficient size_t/ptrdiff_t detection
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: kinke gmx.net

In root/bitarray.d:

struct BitArray
{
    alias Chunk_t = size_t;
    enum ChunkSize = Chunk_t.sizeof;
    enum BitsPerChunk = ChunkSize * 8;

    size_t len;
    size_t *ptr;
}

In frontend.h:

struct BitArray
{
    typedef uint64_t Chunk_t;
    enum : uint64_t { ChunkSize = 8LLU };

    enum : uint64_t { BitsPerChunk = 64LLU };

    size_t len;
    uint64_t* ptr;
}

`Chunk_t` and `ptr` probably can and should be fixed; not sure about the 2
size-related enums.

--
Jan 09