Patch to remove useless casts from the ERTS emulator
Jesper Louis Andersen
jesper.louis.andersen@REDACTED
Tue Feb 1 23:22:00 CET 2011
This patch,
git fetch git://github.com/jlouis/otp.git cocci-useless-cast
serves two purposes. First, it removes all useless casts from the C
code of the ERTS emulator. A useless cast is a cast of an expression
that already has the type casted into. Second, it is an attempt to use
Coccinelle, http://coccinelle.lip6.fr/ on the Erlang C source. While
this is a simple Coccinelle-patch it is highly useful for doing
transformations in-the-large on the code base as a whole. The semantic
patch used is a mere 7 lines, but the patch in the branch is 120
changes.
I have run the test suite for the emulator part only and it passes
that. The caveat, however, is that I can only run a single platform
here. Thus, I hope for an inclusion into 'pu' for some more cooking. I
am also aware you may refrain from taking this patch as it is too
invasive. On the other hand, useless casts are potentially dangerous
if the type of the value is changed later as the cast then masks the
type error that would have otherwise occurred.
--
J.
More information about the erlang-patches
mailing list