www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 3422] New: Structs with default initializers bigger than register size cannot be default parameters

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3422

           Summary: Structs with default initializers bigger than register
                    size cannot be default parameters
           Product: D
           Version: 2.035
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: Justin.SpahrSummers gmail.com


--- Comment #0 from Justin Spahr-Summers <Justin.SpahrSummers gmail.com>
2009-10-20 03:52:50 CDT ---
struct S {
    // works with double and long as well
    real a = 0, b = 0;
}

void func (S s = S()) {
    writefln("hello world");
}

void main () {
    func();
}

It appears that using "= S()" as a default parameter causes a compiler error if
S contains default initializers for types larger than a register (32 bits, e.g.
double, real, and long).

Full compiler error is "Internal error: ..\ztc\cgcod.c 1594"

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2009
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3422


Don <clugdbug yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug yahoo.com.au


--- Comment #1 from Don <clugdbug yahoo.com.au> 2009-10-20 02:09:16 PDT ---
This is the same as

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3422


Don <clugdbug yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
            Version|2.035                       |1.020
            Summary|Structs with default        |ICE(cgcod.c) Structs with
                   |initializers bigger than    |default initializers bigger
                   |register size cannot be     |than register size cannot
                   |default parameters          |be default parameters


--- Comment #2 from Don <clugdbug yahoo.com.au> 2009-10-20 02:13:11 PDT ---
This may have the same root cause as bug 2437 and bug 2935.
It also applies to D1, at least as far back as 1.020 (but didn't compile at all
in 1.010), so not a regression.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3422


Don <clugdbug yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


--- Comment #3 from Don <clugdbug yahoo.com.au> 2009-10-20 12:19:12 PDT ---
The patch in bug 3426 fixes this (they are not the same bug, but are closely
related).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3422


Kosmonaut <Kosmonaut tempinbox.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Kosmonaut tempinbox.com


--- Comment #4 from Kosmonaut <Kosmonaut tempinbox.com> 2009-10-31 21:30:25 PDT
---
Fixed in SVN Repository: http://www.dsource.org/projects/dmd/changeset/230

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 31 2009
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3422


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED


--- Comment #5 from Walter Bright <bugzilla digitalmars.com> 2009-11-06
11:31:24 PST ---
Fixed dmd 1.051 and 2.036

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