http://bugzilla.gdcproject.org/show_bug.cgi?id=235
Johannes Pfau changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
http://bugzilla.gdcproject.org/show_bug.cgi?id=235
--- Comment #3 from Iain Buclaw ---
In compound_expr
---
if (TREE_CODE (arg1) == TARGET_EXPR)
{
// If the rhs is a TARGET_EXPR, then build the compound expression
// inside the target_expr's initializer. This helps the compiler
//
http://bugzilla.gdcproject.org/show_bug.cgi?id=235
--- Comment #2 from Iain Buclaw ---
Looks like something recursive is going on.
---
$ gdc bug235.d -m32 -fdump-tree-original=stdout
;; Function func1 (_D6bug2355func1FZAa)
;; enabled by -tree-original
{
return = {.length=0, .ptr=0B};
}
;;
http://bugzilla.gdcproject.org/show_bug.cgi?id=235
--- Comment #1 from Iain Buclaw ---
I guess the right way to go about it is to separate save_expr into lvalue and
rvalue variants. Probably the best way to ensure we don't try to initialize a
temporary.
Places that really need save_expr I guess