ghost at cs.msu.su
Thu Jul 8 07:09:01 PDT 2004
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?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 614 bytes
Desc: not available
More information about the llvm-dev