Vladimir Prus wrote:> Vladimir Prus wrote:
> > The above-mentioned test contains this:
> >
> > long B53 = - (1LL << 53);
> >
> > strictly speaking, this is not correct code. The C standard says about
> > shift: "if the value of the first operator is ... or greater than
... the
> > width of the promoted left operand, the behaviour is underfined".
>
> Forget this, I've missed the 'LL' suffix. Sorry for the noise.
But the test still has a problem ;-)
printf("%ld\n", Arg / (1LL << 4));
Again, the passed value is long long, and format specifier is '%ld'.
What
about the attached patch?
- Volodya
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2002-05-19-DivTest.diff
Type: text/x-diff
Size: 614 bytes
Desc: not available
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20040708/e12da2e8/attachment.diff>