The analyzer should definitely support exceptions and std::exception, though it mostly does so by throwing up its hands rather than trying to follow the exception path. It definitely should not crash. Can you file a bug at http://llvm.org/bugs/ and attach a preprocessed version of the failing file? (Or a standalone test case.)
Sorry you're having trouble, Jordan On Nov 22, 2013, at 9:34, William SleemanIV <[email protected]> wrote: > I am using Ubuntu 13.10 and build clang/LLVM as described here: > http://clang.llvm.org/get_started.html. When using scan-build I get a lot of > crash reports with output like this: > > libtool: compile: > /home/fsleeman/Downloads/clang/llvm/tools/clang/tools/scan-build/c++-analyzer > -DHAVE_CONFIG_H -I. -I.. -I../dal/include -I../include -I../util/include > -I../dil/include -I../filter/include -g -m64 -MT rcfBitmapImageContainer.lo > -MD -MP -MF .deps/rcfBitmapImageContainer.Tpo -c > ../dal/src/rcfBitmapImageContainer.cpp -fPIC -DPIC -o > .libs/rcfBitmapImageContainer.o > 0 clang++ 0x000000000314c616 llvm::sys::PrintStackTrace(_IO_FILE*) + > 38 > 1 clang++ 0x000000000314c893 > 2 clang++ 0x000000000314c2e9 > 3 libpthread.so.0 0x00002b870d623bb0 > 4 clang++ 0x0000000000d14d18 > 5 clang++ 0x0000000001f33a9c clang::Stmt::getLocStart() const + 24 > 6 clang++ 0x0000000001861f70 > 7 clang++ 0x00000000018623dc > clang::ento::PathDiagnosticLocation::createBegin(clang::Stmt const*, > clang::SourceManager const&, llvm::PointerUnion<clang::LocationContext > const*, clang::AnalysisDeclContext*>) + 48 > 8 clang++ 0x000000000177db22 > 9 clang++ 0x000000000177df67 > 10 clang++ 0x00000000017ff469 > 11 clang++ 0x00000000017facc7 > clang::ento::CheckerManager::runCheckersForEndAnalysis(clang::ento::ExplodedGraph&, > clang::ento::BugReporter&, clang::ento::ExprEngine&) + 99 > 12 clang++ 0x0000000001822aea > clang::ento::ExprEngine::processEndWorklist(bool) + 72 > 13 clang++ 0x000000000181276d > clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, > unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) + 935 > 14 clang++ 0x00000000016321ee > 15 clang++ 0x000000000160add4 > 16 clang++ 0x000000000160aef4 > 17 clang++ 0x000000000160abca > 18 clang++ 0x000000000160a2ef > 19 clang++ 0x000000000160a635 > 20 clang++ 0x00000000010dab1e clang::ParseAST(clang::Sema&, bool, > bool) + 780 > 21 clang++ 0x0000000000c94f6a > clang::ASTFrontendAction::ExecuteAction() + 322 > 22 clang++ 0x0000000000c94aad clang::FrontendAction::Execute() + 205 > 23 clang++ 0x0000000000c67c1a > clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 720 > 24 clang++ 0x0000000000c3732a > clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1026 > 25 clang++ 0x0000000000c2886f cc1_main(char const**, char const**, > char const*, void*) + 717 > 26 clang++ 0x0000000000c32bc3 main + 785 > 27 libc.so.6 0x00002b870e274de5 __libc_start_main + 245 > 28 clang++ 0x0000000000c27f79 > Stack dump: > 0. Program arguments: /usr/local/bin/clang++ -cc1 -triple > x86_64-unknown-linux-gnu -analyze -disable-free -main-file-name > rcfBitmapImageContainer.cpp -analyzer-store=region > -analyzer-opt-analyze-nested-blocks -analyzer-eagerly-assume > -analyzer-checker=core -analyzer-checker=unix -analyzer-checker=deadcode > -analyzer-checker=cplusplus > -analyzer-checker=security.insecureAPI.UncheckedReturn > -analyzer-checker=security.insecureAPI.getpw > -analyzer-checker=security.insecureAPI.gets > -analyzer-checker=security.insecureAPI.mktemp > -analyzer-checker=security.insecureAPI.mkstemp > -analyzer-checker=security.insecureAPI.vfork -analyzer-output plist -w > -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -fmath-errno > -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array > -target-cpu x86-64 -target-linker-version 2.23.52.20130913 -resource-dir > /usr/local/bin/../lib/clang/3.5 -D HAVE_CONFIG_H -D PIC -I . -I .. -I > ../dal/include -I ../include -I ../util/include -I ../dil/include -I > ../filter/include -internal-isystem > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8 > -internal-isystem > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/x86_64-linux-gnu > -internal-isystem > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward > -internal-isystem > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8 > -internal-isystem /usr/local/include -internal-isystem > /usr/local/bin/../lib/clang/3.5/include -internal-externc-isystem > /usr/include/x86_64-linux-gnu -internal-externc-isystem /include > -internal-externc-isystem /usr/include -fdeprecated-macro > -fdebug-compilation-dir /rdoppg/dvfTmp/fsleeman/clangTests/rcf2013/lib > -ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc > -fcxx-exceptions -fexceptions -fdiagnostics-show-option -vectorize-slp > -analyzer-opt-analyze-headers -analyzer-checker=debug.Stats > -analyzer-output=html -o > /home/fsleeman/rcf2013/results/2013-11-22-111838-11071-1 -x c++ > ../dal/src/rcfBitmapImageContainer.cpp > 1. <eof> parser at end of file > > Clang does give reasonable results for a small subset of source files I am > trying analyze. The common link between files that crash and ones that do not > is exceptions. Does clang support std::exception and do I need to > enable/disable some exception feature when compiling the code? > > NOTE: The information contained in this message may be privileged and > confidential and protected from disclosure. If the reader of this message is > not the intended recipient, you are hereby notified that any dissemination, > distribution or copying of this communication is strictly prohibited. If you > have received this communication in error, please notify us immediately by > replying to the message and deleting it from your computer. > -------------------------------------- > VCU Health System > http://www.vcuhealth.org > _______________________________________________ > cfe-users mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
_______________________________________________ cfe-users mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
