lvalue - opIndexAssign - Tango

The Anh Tran trtheanh at gmail.com
Sat Mar 14 00:17:25 PDT 2009


Daniel Keep wrote:
> 
> You could try the Tango IRC channel:
> That, or the Tango forums:
> http://dsource.org/projects/tango/forums
> 
> You can report problems with Tango via the ticket system:
> http://dsource.org/projects/tango/report ("New Ticket" is down the
> bottom of the page.)

I tried to register. But there is no confirmation mail sent to me for 2 
days. That's why i post here :(

-------------------------

Linux Ubuntu 8.10.
DMD v1.041 from digitalmars.com
GDC 4.2, download from ubuntu synaptic.
Tango 0.99.7. Zip package from 
http://www.dsource.org/projects/tango/wiki/SourceDownloads

-----------------------

import tango.io.Stdout;
import tango.util.container.HashMap;
void main()
{
	auto hm = new HashMap!(uint, uint)();
}

dmd -w -g -debug test.d
Error:
warning -
../import/tango/util/container/Slink.d(352): Error: statement is not 
reachable
../import/tango/util/container/HashMap.d(13): template instance 
tango.util.container.HashMap.HashMap!(uint,uint) error instantiating

------------------------------------

GDC tango regex has been fixed myself. It's just a compile flag.

------------------------------------

import tango.io.Stdout;
import tango.core.Atomic;

void main()
{
	uint x = 255;
	uint y = atomicIncrement(x);

	Atomic!(uint) at;
	at.store(255);
	uint c = at.increment();
}


gdc ./test.d -o ./test-tango-gdc -frelease -g -O3 -msse2 -march=native 
-mfpmath=sse -femit-templates=auto -fversion=Posix -fversion=Tango -lgtango

./hello.d:21: template 
tango.core.Atomic.Atomic!(uint).Atomic.store(msync ms = msync.seq) does 
not match any template declaration
./hello.d:21: template 
tango.core.Atomic.Atomic!(uint).Atomic.store(msync ms = msync.seq) 
cannot deduce template function from argument types (int)


dmd -g -release -O -inline ./test.d -of./test-tango-dmd
Here is disasm of atomicIncrement():
	push    ebp
	mov     ebp, esp
	push    eax
	mov     eax, [ebp+var_4]
	lock inc byte ptr [eax]		<--- wrong, must be dword ptr
	mov     eax, [eax]
	mov     esp, ebp
	pop     ebp
	retn


More information about the Digitalmars-d-learn mailing list