July 25, 2005
Using DMD 0.128, Windows 98SE.

----------
void qwert(out uint yuiop) {
}

void main() {
    int asdfg;
    qwert(asdfg);
}
----------
D:\My Documents\Programming\D\Tests\bugs\internal_inout.d(6): cast(uint)(asdfg) is not an lvalue
----------
DMD caused an invalid page fault in
module DMD.EXE at 0167:0040c821.
Registers:
EAX=00882b78 CS=0167 EIP=0040c821 EFLGS=00010246
EBX=00882b78 SS=016f ESP=0071fabc EBP=00000001
ECX=00000000 DS=016f ESI=00882b78 FS=31e7
EDX=0000000b ES=016f EDI=00000000 GS=31ce
Bytes at CS:EIP:
88 09 83 c4 0c 5e 5b c2 04 00 90 90 90 90 90 51
Stack dump:
00882b78 004ab529 00739f1c 00739568 00882b78 0040c83a 00000000 00882b78 0040c3e7 0073bd78 00000000 00739ff4 00739ff4 0073bd78 00735044 00000000
----------

Same if the parameter is inout instead of out.

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- a->--- UB@ P+ L E@ W++@ N+++ o K- w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
July 25, 2005
I'm betting the compiler crash is the same issue as explained here:

http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/4609

Thanks,

- Dave

In article <dc317a$20cm$1@digitaldaemon.com>, Stewart Gordon says...
>
>Using DMD 0.128, Windows 98SE.
>
>----------
>void qwert(out uint yuiop) {
>}
>
>void main() {
>     int asdfg;
>     qwert(asdfg);
>}
>----------
>D:\My Documents\Programming\D\Tests\bugs\internal_inout.d(6): cast(uint)(asdfg) is not an lvalue
>----------
>DMD caused an invalid page fault in
>module DMD.EXE at 0167:0040c821.
>Registers:
>EAX=00882b78 CS=0167 EIP=0040c821 EFLGS=00010246
>EBX=00882b78 SS=016f ESP=0071fabc EBP=00000001
>ECX=00000000 DS=016f ESI=00882b78 FS=31e7
>EDX=0000000b ES=016f EDI=00000000 GS=31ce
>Bytes at CS:EIP:
>88 09 83 c4 0c 5e 5b c2 04 00 90 90 90 90 90 51
>Stack dump:
>00882b78 004ab529 00739f1c 00739568 00882b78 0040c83a 00000000 00882b78
>0040c3e7 0073bd78 00000000 00739ff4 00739ff4 0073bd78 00735044 00000000
>----------
>
>Same if the parameter is inout instead of out.
>
>Stewart.
>
>-- 
>-----BEGIN GEEK CODE BLOCK-----
>Version: 3.1
>GCS/M d- s:- a->--- UB@ P+ L E@ W++@ N+++ o K- w++@ O? M V? PS- PE- Y?
>PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
>------END GEEK CODE BLOCK------
>
>My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.