[Vm-dev] ARM Cog progress

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sun Jun 7 18:50:57 UTC 2015


2015-06-07 20:24 GMT+02:00 Eliot Miranda <eliot.miranda at gmail.com>:

>
> Hi Holger,
>
> On Sun, Jun 7, 2015 at 12:32 AM, Holger Freyther <holger at freyther.de>
> wrote:
>
>>
>>
>> > On 07 Jun 2015, at 01:25, tim Rowledge <tim at rowledge.org> wrote:
>> >
>> >
>> > GCC is such fun.
>>
>> given the amount of warnings emitted during compilation, have you
>> considered
>> that it might be the input given to gcc that is the issue here? ;)
>>
>>
> You're very welcome to make changes to plugins to reduce warnings.  I'm
> focussed on the core VM, and as Tim has said there are almost no warnings
> from that code.  There is one warning from the Cogit that is inappropriate
> and I refuse to waste the code that would avoid it, and there are, I think,
> 8 warnings from the 32-bit Stack/CoInterpreter which are in integer
> conversion code which is conditionally compiled code not used in 32-bits.
> So in the code I have responsibility for I have eliminated all but the
> minimum of warnings.  I am not the author of the plugins and don't presume
> to understand them all well enough to fix them.  I would appreciate your
> help, rather than your criticism.
>
>
>
I'd like to help in this domain too.
Unfortunately, eliminating warnings is a first step, but not enough (even
with -Wall -Wextra ...)
Many UB conditions are not detected (or the compiler would really be
pedantic with false alarms).
For example, like testing overflow in post-condition which is wrong since
overflow is UB, anything could happen...
see bytecodePrimeMultiply
http://smallissimo.blogspot.fr/2015/04/the-more-or-less-defined-behavior-we.html

I thing clang has some optional analyzer (as the one used in Xcode, but
there might be more capabilities...)

Nicolas


>
> --
> best,
> Eliot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150607/6f414277/attachment.htm


More information about the Vm-dev mailing list