[Issue 4158] switch segfault
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed May 5 14:21:15 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4158
--- Comment #2 from Kyle Foley <k-foley at onu.edu> 2010-05-05 14:21:13 PDT ---
(In reply to comment #1)
> It doesn't actually segfault, it executes a HALT instruction. If there is no
> default in a switch, the compiler inserts one of the form:
>
> default: HALT
>
> The idea is that the default should not be implied as fall-through, which it
> does in C.
>
> D is behaving as it is designed to.
http://digitalmars.com/d/2.0/statement.html#SwitchStatement
"If none of the case expressions match, and there is not a default statement, a
std.switcherr.SwitchError is thrown. The reason for this is to catch the common
programming error of adding a new value to an enum, but failing to account for
the extra value in switch statements. This behavior is unlike C or C++."
Should sync this with the docs.
--
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