Thread overview
[Bug 191] internal error when nesting class and recursive calls
Jul 04, 2015
Iain Buclaw
Jul 04, 2015
Iain Buclaw
Jun 11, 2017
Iain Buclaw
Jun 12, 2017
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, 2017
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, 2017
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.