[Issue 7883] Compiler segfaults with double inheritance and function contract

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon May 14 03:15:14 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7883


Don <clugdbug at yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice
                 CC|                            |clugdbug at yahoo.com.au
            Version|D2                          |D1 & D2
            Summary|Compiler crashes with       |Compiler segfaults with
                   |double inheritance and      |double inheritance and
                   |function contract           |function contract
         OS/Version|Windows                     |All


--- Comment #7 from Don <clugdbug at yahoo.com.au> 2012-05-14 03:16:38 PDT ---
Also crashes on D1 Linux.

It's in func.c(1987), in FuncDeclaration::mergeFensure(Statement * sf)

fensure is NULL (In fact, it's called with fensure = mergeFensure(fensure)

            if (sf)
            {
                sf = new CompoundStatement(fensure->loc, s2, sf);
            }

Changing this to sf->loc prevents the segfault. But, there's something else
wrong -- after this change, it prints

bug.d(21): Error: undefined identifier result

whereas it should compile without error.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list