Recursive function calls being skipped

Derek Parnell derek at nomail.afraid.org
Mon Apr 23 17:03:48 PDT 2007


I have a situation like this ...

   void Foo(T)(T pData)
   {
        T xx;

        writefln("ENTRY");
        // skip a whole lot of code ...
        if (some_condition)
        {
            writefln("A");
            Foo( xx );
            Writefln("B");
        }
        // blah blah blah ...

        writefln("EXIT");
   }

And the output I'm getting is ...

 ENTRY
 A
 B
 EXIT

but I was expecting ...
 ENTRY
 A
 ENTRY
 EXIT
 B
 EXIT

The code is inside a very large program so I'm a bit loathed to start
chopping it up to find the minimum program that still demonstrates the
effect. I suppose I could examine the object code to see what's being
generated but I was hoping that someone might give me a clue first.

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Justice for David Hicks!"
24/04/2007 9:57:44 AM


More information about the Digitalmars-d-bugs mailing list