www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dtl - MinTL 2

reply Ben Hinkle <bhinkle4 juno.com> writes:
I've finally finished cleaning up MinTL for dmd-102. Since this version is a
good cutting point I'm calling it MinTL 2.0

new stuff: 
- deque
- circular linked lists (double and single): CList and CSList
- more concurrent containers: ConcurrentQueue, ConcurrentStack, DualQueue,
DualStack, LinkedQueue, ConcurrentPriorityQueue, ConcurrentAA
- added Exchanger and better doc to Locks library

more use of mixins for code reuse. Also replaced assembly files in Locks
with inline assembly.

http://home.comcast.net/~benhinkle/mintl/

I still get wierd linking errors (eg - sometimes I get typeinfos not found
on win32) and/or seg-v's depending on various compiler flags (eg - if I
specify -O then I need to insert some printfs in various places to prevent
a seg-v presumably because of an optimization bug) but it seems to
basically work.

have fun!
-Ben
Oct 03 2004
parent "Ben Hinkle" <bhinkle mathworks.com> writes:
 I still get wierd linking errors (eg - sometimes I get typeinfos not found
 on win32) and/or seg-v's depending on various compiler flags (eg - if I
 specify -O then I need to insert some printfs in various places to prevent
 a seg-v presumably because of an optimization bug) but it seems to
 basically work.

I'm trying to narrow these bugs down and it looks like the one about TypeInfo's not being found (with -g or -unittest) goes away if the file mintl/share.d the function add is changed from void add(...) { va_list argptr = cast(va_list)_argptr; for (int k=0;k<_arguments.length;k++) { if (_arguments[k] is typeid(Value)) { etc to void add(...) { va_list argptr = cast(va_list)_argptr; for (int k=0;k<_arguments.length;k++) { TypeInfo ti = typeid(Value); if (_arguments[k] is ti) { I have no idea why explicitly making a variable for the TypeInfo makes the compiler happy. I'm trying to get smaller reproduction steps but my basic tests end up passing. So.. if you get missing TypeInfo's try that trick.
Oct 04 2004