--- Comment #4 from Kenji Hara <> 2012-01-04 03:07:56 PST ---
I think this is 'too early optimization' bug.

1. The calling of a function that is strong-pure and nothrow is 'no side
   Then dmd marks it in IR level.

2. OPucallns and OPcallns are completely removed in backend optimizer level.

The mistaken is in #1. assert() has 'implicit side effect' (throw AssertError,
or halt), so all of function call with enabling assertion should disable
'remove no side effect calling' optimization.

At least, a compilation without -O switch should not remove such calls.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to