[Issue 3634] return value not passed to out contracts of private methods

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Dec 18 23:03:35 PST 2009


http://d.puremagic.com/issues/show_bug.cgi?id=3634



--- Comment #2 from Witold Baryluk <baryluk at smp.if.uj.edu.pl> 2009-12-18 23:03:34 PST ---
Using "protected" attributed it works correctly:

.text._D1t1A1xMFZk      segment
        assume  CS:.text._D1t1A1xMFZk
_D1t1A1xMFZk:
                push    EBP
                mov     EBP,ESP
                sub     ESP,8
                mov     ECX,8[EAX]
                mov     -8[EBP],ECX
                lea     EDX,-8[EBP]
                push    EDX
                call    near ptr _D1t1A1xMFZk8__ensureMFKxkZv at PC32
                mov     EAX,-8[EBP]
                leave
                ret
                nop
                nop
.text._D1t1A1xMFZk      ends
.text._D1t1A1xMFZk8__ensureMFKxkZv      segment
        assume  CS:.text._D1t1A1xMFZk8__ensureMFKxkZv
_D1t1A1xMFZk8__ensureMFKxkZv:
                push    EBP
                mov     EBP,ESP
                sub     ESP,4
                mov     ECX,8[EBP]
                mov     EAX,[ECX]
                call    near ptr _D1t4ppppFkZv at PC32
                leave
                ret     4
.text._D1t1A1xMFZk8__ensureMFKxkZv      ends


I was first thinking this is problem with constatnt propagation, but i don't
think this is good guess. Hope someone with better knowledge of backend can say
something more relevant. :)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list