Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/dmd/backend/dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ void DtBuilder::dword(int value)
/***********************
* Write a size_t value.
*/
void DtBuilder::size(d_ulong value)
void DtBuilder::size(unsigned long value)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is replacing a 64 bit integer with a 32 bit integer. It cannot work correctly.

{
if (value == 0)
{
Expand Down
20 changes: 2 additions & 18 deletions src/dmd/backend/dt.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,6 @@

#include <stddef.h> // for size_t

#if __APPLE__ && __i386__
/* size_t is 'unsigned long', which makes it mangle differently
* than D's 'uint'
*/
typedef unsigned d_size_t;
#else
typedef size_t d_size_t;
#endif


struct dt_t;
struct Symbol;
typedef unsigned tym_t; // data type big enough for type masks
Expand All @@ -30,12 +20,6 @@ bool dtallzeros(const dt_t *dt);
bool dtpointers(const dt_t *dt);
void dt2common(dt_t **pdt);

#if __LP64__
#define d_ulong unsigned long
#else
#define d_ulong unsigned long long
#endif

class DtBuilder
{
private:
Expand All @@ -51,7 +35,7 @@ class DtBuilder
void abytes(tym_t ty, unsigned offset, unsigned size, const char *ptr, unsigned nzeros);
void abytes(unsigned offset, unsigned size, const char *ptr, unsigned nzeros);
void dword(int value);
void size(d_ulong value);
void size(unsigned long value);
void nzeros(unsigned size);
void xoff(Symbol *s, unsigned offset, tym_t ty);
dt_t *xoffpatch(Symbol *s, unsigned offset, tym_t ty);
Expand All @@ -60,7 +44,7 @@ class DtBuilder
void coff(unsigned offset);
void cat(dt_t *dt);
void cat(DtBuilder *dtb);
void repeat(dt_t *dt, d_size_t count);
void repeat(dt_t *dt, size_t count);
unsigned length();
bool isZeroLength();
};
Expand Down
13 changes: 2 additions & 11 deletions src/dmd/backend/outbuf.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,6 @@

#include <stddef.h> // for size_t

#if __APPLE__ && __i386__
/* size_t is 'unsigned long', which makes it mangle differently
* than D's 'uint'
*/
typedef unsigned d_size_t;
#else
typedef size_t d_size_t;
#endif

// Output buffer

// (This used to be called OutBuffer, we renamed it to avoid name conflicts with Mars.)
Expand All @@ -47,14 +38,14 @@ struct Outbuffer
void reset();

// Reserve nbytes in buffer
void reserve(d_size_t nbytes)
void reserve(size_t nbytes)
{
if (pend - p < nbytes)
enlarge(nbytes);
}

// Reserve nbytes in buffer
void enlarge(d_size_t nbytes);
void enlarge(size_t nbytes);

// Write n zeros; return pointer to start of zeros
void *writezeros(d_size_t n);
Expand Down
2 changes: 1 addition & 1 deletion src/dmd/tk/mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ void mem_checkptr(void *p)

/***************************/

void *mem_malloc(d_size_t numbytes)
void *mem_malloc(size_t numbytes)
{ void *p;

if (numbytes == 0)
Expand Down
11 changes: 1 addition & 10 deletions src/dmd/tk/mem.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,6 @@

#include <stdio.h> // for size_t

#if __APPLE__ && __i386__
/* size_t is 'unsigned long', which makes it mangle differently
* than D's 'uint'
*/
typedef unsigned d_size_t;
#else
typedef size_t d_size_t;
#endif

/*
* Memory management routines.
*
Expand Down Expand Up @@ -156,7 +147,7 @@ void mem_checkptr(void *ptr);
* return NULL
*/

void *mem_malloc(d_size_t);
void *mem_malloc(size_t);
void *mem_calloc(size_t);

/*****************************
Expand Down