[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