http://d.puremagic.com/issues/show_bug.cgi?id=6997
Summary: 64bit optimizer bug Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Keywords: wrong-code Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: timon.g...@gmx.ch --- Comment #0 from timon.g...@gmx.ch 2011-11-23 13:21:40 PST --- long fun(long a,long b,long c){ return a<b?a<c?a:b<c?b:c:b; } long baz(long a, long b){ bool s=(a<0)!=(b<0); a = a>0?a:-a; return s ? a : a; } struct R{ ulong bar, qux; bool c; R foo(){ if(!c){ long a = baz(bar, 0), b = baz(bar, 0), c = baz(bar, 0); return R(fun(a,b,c), fun(a,b,c)); } return R(); } } void main(){auto x=R().foo();} when compiled with dmd -O -release -inline (64bit), the program fails with a segfault during runtime on my machine. Removing any of the flags makes it run through. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------