http://bugzilla.gdcproject.org/show_bug.cgi?id=207
--- Comment #6 from art.08...@gmail.com --- (In reply to Iain Buclaw from comment #5) > As for assert(0) in non-release code, it is still possible to catch it, so > there's not much in the way of optimising around that. :-) It's not about catching -- marking it as noreturn doesn't affect catching, just return/recovery. `assert(0)` is sufficiently special in D that the compiler already complains when it finds reachable code following such an assert: void f() { assert(0); f(); // warning: statement is not reachable } > I can have a look, but as far as I recall, gcc optimizer should treat it as > noreturn. Whether or not noreturn implies that everything in scope > afterwards is unreachable depends the optimizer too. My guess is the calls are not treated as @noreturn, but, since gdc dropped support for most gcc attributes, verifying this by wrapping the calls is currently impossible... -- You are receiving this mail because: You are watching all bug changes.