dreal / dreal3

There is a new version of dReal, available at https://github.com/dreal/dreal4
GNU General Public License v3.0
48 stars 36 forks source link

clang-3.7 + capd => compiler error #308

Closed soonho-tri closed 8 years ago

soonho-tri commented 8 years ago

highly likely a compiler bug

  void move(DynSysType & dynsys, C11Rect2Set& result) const;
       ^
C11Rect2Set.cpp:18:30: note: in instantiation of template class 'capd::dynset::C11Rect2Set<capd::IMatrix>' requested here
template class capd::dynset::C11Rect2Set< capd::IMatrix >;
                             ^
../../../include/capd/dynset/C1DoubletonSet.h:64:8: note: hidden overloaded virtual function 'capd::dynset::C1DoubletonSet<capd::vectalg::Matrix<capd::intervals::Interval<double, capd::rounding::DoubleRounding>, 0, 0>, capd::dynset::FactorReorganization<capd::dynset::FullQRWithPivoting<capd::dynset::DefaultPolicy> > >::move' declared here: different number of parameters (1 vs 2)
  void move(DynSysType & dynsys);
       ^
1 warning generated.
0  libLLVM-3.7.so.1 0x00002b4924b66f08 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 56
1  libLLVM-3.7.so.1 0x00002b4924b66369
2  libpthread.so.0  0x00002b4925a94330
3  libLLVM-3.7.so.1 0x00002b4924003104 llvm::SCEVAddRecExpr::evaluateAtIteration(llvm::SCEV const*, llvm::ScalarEvolution&) const + 20
4  libLLVM-3.7.so.1 0x00002b4923fa53e4 llvm::RuntimePointerChecking::insert(llvm::Loop*, llvm::Value*, bool, unsigned int, unsigned int, llvm::DenseMap<llvm::Value const*, llvm::Value*, llvm::DenseMapInfo<llvm::Value const*>, llvm::detail::DenseMapPair<llvm::Value const*, llvm::Value*> > const&) + 100
5  libLLVM-3.7.so.1 0x00002b4923b9f8cd
6  libLLVM-3.7.so.1 0x00002b4923fa8fb1 llvm::LoopAccessInfo::analyzeLoop(llvm::DenseMap<llvm::Value const*, llvm::Value*, llvm::DenseMapInfo<llvm::Value const*>, llvm::detail::DenseMapPair<llvm::Value const*, llvm::Value*> > const&) + 6945
7  libLLVM-3.7.so.1 0x00002b4923fa97fc llvm::LoopAccessAnalysis::getInfo(llvm::Loop*, llvm::DenseMap<llvm::Value const*, llvm::Value*, llvm::DenseMapInfo<llvm::Value const*>, llvm::detail::DenseMapPair<llvm::Value const*, llvm::Value*> > const&) + 316
8  libLLVM-3.7.so.1 0x00002b4924c8a2a1
9  libLLVM-3.7.so.1 0x00002b4924c8cec8
10 libLLVM-3.7.so.1 0x00002b4924c8f6e5
11 libLLVM-3.7.so.1 0x00002b49243ba537 llvm::FPPassManager::runOnFunction(llvm::Function&) + 471
12 libLLVM-3.7.so.1 0x00002b49243ba86b llvm::FPPassManager::runOnModule(llvm::Module&) + 43
13 libLLVM-3.7.so.1 0x00002b49243bab45 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 693
14 clang            0x000000000086dcb2 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::raw_pwrite_stream*) + 2098
15 clang            0x000000000085adaf
16 clang            0x0000000000a229d3 clang::ParseAST(clang::Sema&, bool, bool) + 483
17 clang            0x00000000006be956 clang::FrontendAction::Execute() + 438
18 clang            0x000000000069c8e8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 280
19 clang            0x0000000000684f34 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1892
20 clang            0x000000000067ee08 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 2104
21 clang            0x000000000067cf63 main + 8963
22 libc.so.6        0x00002b49261ecf45 __libc_start_main + 245
23 clang            0x000000000067d7e4
Stack dump:
0.  Program arguments: /usr/lib/llvm-3.7/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -main-file-name Function.cpp -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -mfpmath sse -target-feature +sse -target-feature +sse2 -target-linker-version 2.24 -momit-leaf-frame-pointer -dwarf-column-info -coverage-file /usr0/home/soonhok/.ccache/c/a/c594597081dcc12d0dfac30d51bf94-1775905.o.tmp.gauss.modck.cs.cmu.edu.10098 -resource-dir /usr/lib/llvm-3.7/bin/../lib/clang/3.7.1 -D HAVE_CONFIG_H -D FILE_BUILD_DIR="/usr0/home/soonhok/work/drake-distro/build/debug-clang/externals/dreal/external/src/CAPD4/capdDynSys4/src/capd/map" -D FILE_BUILD_DIR="/usr0/home/soonhok/work/drake-distro/build/debug-clang/externals/dreal/external/src/CAPD4/capdDynSys4/src/capd/map" -I . -I ../../../include/capd -I ../../../include -I ../../../include -I ../../../include -I ../../../include -I /usr0/home/soonhok/work/drake-distro/build/debug-clang/externals/dreal/external/src/CAPD4/capdAlg/include -I /usr0/home/soonhok/work/drake-distro/build/debug-clang/externals/dreal/external/src/CAPD4/capdAux/include -I /usr0/home/soonhok/work/drake-distro/build/debug-clang/externals/dreal/external/src/CAPD4/capdExt/include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0/../../../../include/c++/6.2.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0/../../../../include/x86_64-linux-gnu/c++/6.2.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0/../../../../include/x86_64-linux-gnu/c++/6.2.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0/../../../../include/c++/6.2.0/backward -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.7/bin/../lib/clang/3.7.1/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wall -Wextra -Wno-deprecated-register -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /usr0/home/soonhok/work/drake-distro/build/debug-clang/externals/dreal/external/src/CAPD4/capdDynSys4/src/capd/map -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /usr0/home/soonhok/.ccache/c/a/c594597081dcc12d0dfac30d51bf94-1775905.o.tmp.gauss.modck.cs.cmu.edu.10098 -x c++ Function.cpp
1.  <eof> parser at end of file
2.  Per-module optimization passes
3.  Running pass 'Function Pass Manager' on module 'Function.cpp'.
4.  Running pass 'Loop Vectorization' on function '@_ZN4capd3map13BasicFunctionIeE13setParametersEPKej'
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 3.7.1-svn253742-1~exp1 (branches/release_37) (based on LLVM 3.7.1)
Target: x86_64-pc-linux-gnu
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://bugs.debian.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/Function-2de523.cpp
clang: note: diagnostic msg: /tmp/Function-2de523.sh
clang: note: diagnostic msg:

********************
make[4]: *** [libcapdmap_la-Function.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
soonho-tri commented 8 years ago

https://github.com/dreal-deps/capdDynSys-4.0/blob/master/capdDynSys4/include/capd/map/BasicFunction.hpp#L261-L267 is where clang fails.

soonho-tri commented 8 years ago

Fix: https://github.com/dreal-deps/capdDynSys-4.0/blob/exp/capdDynSys4/include/capd/map/BasicFunction.hpp#L261-L279