[Issue 1459] ICE(cgcs.c) on attempt to set value of non-lvalue return struct

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed May 27 01:08:42 PDT 2009


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


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

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




--- Comment #2 from Don <clugdbug at yahoo.com.au>  2009-05-27 01:08:42 PDT ---
Root cause: Structs should not be considered lvalues if they are function
return values.

PATCH expression.c, CallExp::toLvalue()

+    Type *tb = e1->type->toBasetype();
+    if (type->toBasetype()->ty == Tstruct && tb->ty != Tfunction)
-    if (type->toBasetype()->ty == Tstruct)
    return this;

-- 
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