[PPL-devel] test failure

Roberto Bagnara bagnara at cs.unipr.it
Sat Oct 27 08:27:42 CEST 2012


On 10/23/12 03:30, Jason Addison wrote:
> <<snip>>
>
> ****************************  long_double/IEEE754_QUAD
> ****************************
> make  C_Expr linearform1 linearize digitalfilters1 bdshape1 bdshape2
> octagonalshape1 octagonalshape2 polyhedron1 polyhedron2  \
> 	  run_tests
> g++ -DHAVE_CONFIG_H -I. -I../../../tests/Concrete_Expression -I../..
> -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD
> -I../../src -I../../../src -I../../../tests -I../../../utils
> -I/Users/jra/pks/gcc-4.7.2/include -DNDEBUG=1   -g -O2 -frounding-math
>   -W -Wall -MT C_Expr.o -MD -MP -MF .deps/C_Expr.Tpo -c -o C_Expr.o
> ../../../tests/Concrete_Expression/C_Expr.cc
> In file included from ../../../tests/ppl_test.hh:27,
>                   from ../../../tests/Concrete_Expression/C_Expr.cc:25:
> ../../../src/ppl_header.hh:95:9: warning: undefining "__STDC_LIMIT_MACROS"
>
> <<snip>>
>
> g++ -DHAVE_CONFIG_H -I. -I../../../tests/Concrete_Expression -I../..
> -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD
> -I../../src -I../../../src -I../../../tests -I../../../utils
> -I/Users/jra/pks/gcc-4.7.2/include -DNDEBUG=1   -g -O2 -frounding-math
>   -W -Wall -MT polyhedron2.o -MD -MP -MF .deps/polyhedron2.Tpo -c -o
> polyhedron2.o ../../../tests/Concrete_Expression/polyhedron2.cc
> In file included from ../../../tests/ppl_test.hh:27,
>                   from ../../../tests/Concrete_Expression/polyhedron2.cc:26:
> ../../../src/ppl_header.hh:95:9: warning: undefining "__STDC_LIMIT_MACROS"
> mv -f .deps/polyhedron2.Tpo .deps/polyhedron2.Po
> /bin/sh ../../libtool  --tag=CXX   --mode=link g++  -g -O2
> -frounding-math  -W -Wall   -o polyhedron2 polyhedron2.o
> ../../utils/libppl_utils.a ../../tests/libppl_tests.a
> ../../src/libppl.la -L/Users/jra/pks/gcc-4.7.2/lib -lgmpxx -lgmp
> libtool: link: g++ -g -O2 -frounding-math -W -Wall -o
> .libs/polyhedron2 polyhedron2.o -Wl,-bind_at_load
> ../../utils/libppl_utils.a ../../tests/libppl_tests.a
> ../../src/.libs/libppl.dylib -L/Users/jra/pks/gcc-4.7.2/lib
> /Users/jra/pks/gcc-4.7.2/lib/libgmpxx.dylib
> /Users/jra/pks/gcc-4.7.2/lib/libgmp.dylib
> make[5]: Nothing to be done for `../../../tests/Concrete_Expression/run_tests'.
> make  check-TESTS
> PASS: C_Expr
> PASS: linearform1
> PASS: linearize
> PASS: digitalfilters1
> PASS: bdshape1
> PASS: bdshape2
> PASS: octagonalshape1
> PASS: octagonalshape2
> tests failed: test04 test05
> FAIL: polyhedron1
> tests failed: test04 test05
> FAIL: polyhedron2
> ======================================
> 2 of 10 tests failed
> Please report to ppl-devel at cs.unipr.it
> ======================================
> make[5]: *** [check-TESTS] Error 1
> make[4]: *** [check-am] Error 2
> make[3]: *** [run_tests.stamp] Error 1
> make[2]: *** [check-am] Error 2
> make[1]: *** [check-recursive] Error 1
> make: *** [check-recursive] Error 1

Thanks for the report.

I believe you are have been bitten by a bug of LLVM.
LLVM does not provide support for the -frounding-math option,
and this may result into incorrectness of the floating-point
based domains.  Moreover, llvm-gcc masquerades as gcc, which
defeats our configure script.

If you use the domains that are based on floating-point numbers,
then only solution is to use GCC (the real thing) instead of LLVM.
If you don't need the domains that are based on floating-point
numbers you could configure the PPL with the

   --disable-fpmath

options and then retry the `make check' (to make sure the other
parts of the PPL have been compiled OK).
Please let us know how it goes.
Thanks,

    Roberto

-- 
      Prof. Roberto Bagnara

Applied Formal Methods Laboratory - University of Parma, Italy
mailto:bagnara at cs.unipr.it
                               BUGSENG srl - http://bugseng.com
                               mailto:roberto.bagnara at bugseng.com



More information about the PPL-devel mailing list