On Tuesday, 29 January 2013 at 21:26:11 UTC, Walter Bright wrote:
On 1/29/2013 1:15 PM, David Nadlinger wrote:
On Tuesday, 29 January 2013 at 19:21:34 UTC, Walter Bright
wrote:
One real issue is order of evaluation bugs, but I didn't see
a note about that
in the Clang list.
Why would you need runtime checking for that?
I didn't say you did!
Besides the AddressSanatizer and MemorySanatizer features
which are obviously
real-world oriented (cf. Valgrind), I also find quite a few of
the ubsan
features to be actually useful in practice - integer overflow
detection is only
a small part of it.
valgrind is immensely useful for C, but a lot less so for D as
D guarantees initialization and a GC takes care of much of the
rest.
Many have jokes about Java being a language that requires an IDE
to be usable.
Usually I joke that C is a language for tool vendors. How many
vendors can take their business to C undefined behaviors and
pointer abuse.
No one on their senses does use C today without an endless list
of tools that validate their code is not going to explode.
--
Paulo