[Bug 73] ARM: Wrong code with -O2 (heisenbug)

gdc-bugzilla at gdcproject.org gdc-bugzilla at gdcproject.org
Mon Aug 12 06:06:37 PDT 2013


http://bugzilla.gdcproject.org/show_bug.cgi?id=73

--- Comment #7 from Iain Buclaw <ibuclaw at gdcproject.org> 2013-08-12 13:06:37 UTC ---
OK, now codegen is:

;; Function main (_Dmain)
;; enabled by -tree-original

{
  struct Tup1 e;
  struct Tup3 tup22;
  struct Tup2 tup12;
  struct Tup1 tup11;

  (void) (tup11 = at.tup1 (10, 3));
  (void) (tup12 = at.tup2 ({.length=3, .ptr="str"}, {.length=0, .ptr=0B}));
  (void) (tup22 = at.tup3 (tup11, tup12));
  (void) (e = tup22.field1);
  {
    if (tup22.field1.field1 == 10 && tup22.field1.field2 == 3)
      {
        {

        }
      }
    else
      {
        {
          if (0)
            {
              0
            }
          else
            {
              _d_assert ({.length=6, .ptr="test.d"}, 48);
            }
        }
      }
  }
  return <retval> = 0;
}

-- 
Configure bugmail: http://bugzilla.gdcproject.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the D.gnu mailing list