www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - Invalid page fault: out/inout argument of wrong type

reply Stewart Gordon <smjg_1998 yahoo.com> writes:
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.
Jul 25 2005
parent Dave <Dave_member pathlink.com> writes:
I'm betting the compiler crash is the same issue as explained here:

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.

Jul 25 2005