[LLVMdev] UnitTests/2002-05-19-DivTest.c
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Jul 8 08:24:01 PDT 2004
On Thu, 2004-07-08 at 07:07, Vladimir Prus wrote:
> 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?
I think testL has another problem. It takes a long argument which in C I
think is a 4-byte int, right?
--
Alkis
More information about the llvm-dev
mailing list