Static inner functions

bearophile bearophileHUGS at lycos.com
Wed Dec 22 10:17:11 PST 2010


A little D2 program:

void main() {
           pure nothrow int foo1(immutable int x) { return x; }
    static pure nothrow int foo2(immutable int x) { return x; }
}


This is the asm of the two inner functions:

_D6test4mainFZv4foo1MFNaNbyiZi    comdat
        enter   4,0
        mov EAX,8[EBP]
        leave
        ret 4

_D6test4mainFZv4foo2FNaNbyiZi comdat
        enter   4,0
        leave
        ret

Is this a compiler mistake? Aren't strongly pure inner function static too?

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list