Thread overview
[Bug 191] internal error when nesting class and recursive calls
Jul 04, 2015
Iain Buclaw
Jul 04, 2015
Iain Buclaw
July 04, 2015
http://bugzilla.gdcproject.org/show_bug.cgi?id=191

--- Comment #1 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Once again, getRightThis in the front-end is hurting us.  This will complicate the area where the codegen should be handling this by ten-fold.   I'll see what can be done in the meantime...

-- 
You are receiving this mail because:
You are watching all bug changes.


July 04, 2015
http://bugzilla.gdcproject.org/show_bug.cgi?id=191

--- Comment #2 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Extending from the original PR, there are another two tests to consider (which shows why it gets complicated).

class OuterClass
{
  void recurse()
  {
    class InnerClass
    {
      void test()
      {
        void localFunction()
        {
          void anotherLocalFunction()
          {
            recurse();   // Ensure we handle Nth depth.
          }

          anotherLocalFunction();
        }

        localFunction();
      }
    }
  }
}


class OuterClass
{
  void recurse()
  {
    class InnerClass
    {
      void test()
      {
        void localFunction()
        {
          int a = 42;

          void anotherLocalFunction()
          {
            a++;       // And correctly handle any
                       // static chains along the way.
            recurse();
          }

          anotherLocalFunction();
        }

        localFunction();
      }
    }
  }
}

-- 
You are receiving this mail because:
You are watching all bug changes.


June 11
https://bugzilla.gdcproject.org/show_bug.cgi?id=191

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #3 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Thanks to (I think) #454, this became an ICE on our side.

Much easier to debug + fix.

https://github.com/D-Programming-GDC/GDC/pull/487

-- 
You are receiving this mail because:
You are watching all bug changes.
June 12
https://bugzilla.gdcproject.org/show_bug.cgi?id=191

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

-- 
You are receiving this mail because:
You are watching all bug changes.