FYI - mo' work on std.allocator

Temtaime via Digitalmars-d digitalmars-d at puremagic.com
Thu May 1 03:36:13 PDT 2014


Hi Andrey. Have you even test your allocator on different 
arch(32/64) and/or with different compiler flags ?

On Windows, 32 bit.

dmd allocator.d -main

allocator.d(1492): Error: cannot implicitly convert expression (x 
/ 64LU) of typ
e ulong to immutable(uint)
allocator.d(1494): Error: cannot implicitly convert expression (y 
/ 64LU) of typ
e ulong to immutable(uint)
allocator.d(1518): Error: cannot implicitly convert expression (x 
/ 64LU) of typ
e ulong to uint
allocator.d(1524): Error: cannot implicitly convert expression 
(i) of type ulong
  to uint
allocator.d(1525): Error: cannot implicitly convert expression 
(i) of type ulong
  to uint
allocator.d(1542): Error: cannot implicitly convert expression 
(w) of type ulong
  to uint
allocator.d(1551): Error: cannot implicitly convert expression 
(w) of type ulong
  to uint
allocator.d(1570): Error: cannot implicitly convert expression 
(w) of type ulong
  to uint
allocator.d(1580): Error: cannot implicitly convert expression 
(w) of type ulong
  to uint
allocator.d(1596): Error: cannot implicitly convert expression 
(x) of type ulong
  to uint
allocator.d(1596): Error: cannot implicitly convert expression 
(y) of type ulong
  to uint

If i fix these errors it's ok, but not ok with unittests.

dmd allocator.d -main -debug -unittest

allocator.d(4042): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4082): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(2123): Error: template instance 
std.allocator.InSituRegion!(10240, 6
4) error instantiating
allocator.d(2391): Error: cannot implicitly convert expression 
(4096LU * i) of t
ype ulong to uint
allocator.d(2391): Error: cannot implicitly convert expression 
(4096LU * j) of t
ype ulong to uint
allocator.d(6513): Error: template instance 
std.traits.hasMember!(HeapBlockWithI
nternalPointers!4096, "resolveInternalPointer") error 
instantiating
allocator.d(2266):        instantiated from here: 
testAllocator!(delegate () =>
(HeapBlockWithInternalPointers!4096 __ctmp2115 = 0;
  , __ctmp2115).this(m))
allocator.d(2439):        instantiated from here: 
HeapBlockWithInternalPointers!
4096
allocator.d(4042): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4082): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(2740): Error: template instance 
std.allocator.InSituRegion!16384 err
or instantiating
allocator.d(3838): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(3882): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(3993): Error: template instance 
std.allocator.Region!() error instan
tiating
allocator.d(4042): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4082): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4135): Error: template instance 
std.allocator.InSituRegion!(131072,
64) error instantiating
allocator.d(4042): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4082): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4140): Error: template instance 
std.allocator.InSituRegion!131072 er
ror instantiating
allocator.d(4042): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4082): Error: function 
std.allocator.roundUpToMultipleOf (uint s, ui
nt base) is not callable using argument types (ulong, uint)
allocator.d(4161): Error: template instance 
std.allocator.InSituRegion!4096 erro
r instantiating


More information about the Digitalmars-d mailing list