Created attachment 7260 [details] Source file crashing clang Summary: a source file, hybrid_times_ext.cpp, using Boost.Python crashes clang when using a precompiled header, precompiled.h, whereas it compiles fine otherwise. Here are the steps to reproduce the problem (note that /Users/luc/Developer/cctbx/boost shall be replaced by the path to the top of your installed Boost). ~> ls hybrid_times_ext.cpp precompiled.h ~> cat precompiled.h /// List headers to precompile here #include <boost/python.hpp> #include <iostream> #include <string> #include <vector> #include <algorithm> #include <sstream> ~> clang++ -o precompiled.h.gch -c -DBOOST_ALL_NO_LIB -DBOOST_DISABLE_THREADS -DBOOST_PYTHON_MAX_BASES=2 -I/Users/luc/Developer/cctbx/boost -x c++-header -fPIC -fno-strict-aliasing -Wno-c++0x-extensions -Wno-array-bounds -DNDEBUG -O3 -ffast-math -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 precompiled.h ~> ls hybrid_times_ext.cpp precompiled.h precompiled.h.gch ~> clang++ -c -DBOOST_ALL_NO_LIB -DBOOST_DISABLE_THREADS -DBOOST_PYTHON_MAX_BASES=2 -I/Users/luc/Developer/cctbx/boost -fPIC -fno-strict-aliasing -Wno-c++0x-extensions -Wno-array-bounds -DNDEBUG -O3 -ffast-math -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 hybrid_times_ext.cpp ~> clang++ -c -DBOOST_ALL_NO_LIB -DBOOST_DISABLE_THREADS -DBOOST_PYTHON_MAX_BASES=2 -I/Users/luc/Developer/cctbx/boost -fPIC -fno-strict-aliasing -Wno-c++0x-extensions -Wno-array-bounds -DNDEBUG -O3 -ffast-math -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -include precompiled.h hybrid_times_ext.cpp 0 clang 0x000000010127d0f2 llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 2498 1 clang 0x000000010127d6e9 llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 4025 2 libSystem.B.dylib 0x00007fff851131ba _sigtramp + 26 3 libSystem.B.dylib 0x0000000102014c00 _sigtramp + 2096110176 4 clang 0x00000001007eb317 llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 17703 5 clang 0x00000001007eb94c llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 19292 6 clang 0x00000001007eacd6 llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 16102 7 clang 0x00000001007ea17b llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 13195 8 clang 0x00000001007e8ea4 llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 8372 9 clang 0x00000001007efabb llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 36043 10 clang 0x00000001007e76dd llvm::SmallVectorTemplateBase<clang::APValue, false>::grow(unsigned long) + 2285 11 clang 0x0000000100211d23 llvm::DenseMap<clang::Expr const*, llvm::Value*, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int) + 8595 12 clang 0x00000001002143a0 llvm::DenseMap<clang::Expr const*, llvm::Value*, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int) + 18448 13 clang 0x00000001002186ba llvm::DenseMap<clang::Expr const*, llvm::Value*, llvm::DenseMapInfo<clang::Expr const*>, llvm::DenseMapInfo<llvm::Value*> >::grow(unsigned int) + 35626 14 clang 0x0000000100223f4f llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreatePHI(llvm::Type*, unsigned int, llvm::Twine const&) + 1439 15 clang 0x000000010020b72a clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 170 16 clang 0x00000001000d1b04 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 60228 17 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 18 clang 0x00000001000b6295 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 125205 19 clang 0x00000001000ce26b llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 45739 20 clang 0x00000001000ce3dc llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 46108 21 clang 0x00000001000ce620 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 46688 22 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 23 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 24 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 25 clang 0x00000001000ce5f3 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 46643 26 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 27 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 28 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 29 clang 0x00000001000d2ffd void clang::ASTDeclReader::VisitRedeclarable<clang::TagDecl>(clang::Redeclarable<clang::TagDecl>*) + 173 30 clang 0x00000001000c8983 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 22979 31 clang 0x00000001000c8ee8 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 24360 32 clang 0x00000001000ce5d2 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 46610 33 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 34 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 35 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 36 clang 0x00000001000cf134 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 49524 37 clang 0x00000001000cf544 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 50564 38 clang 0x00000001000cf712 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 51026 39 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 40 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 41 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 42 clang 0x00000001000cf476 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 50358 43 clang 0x00000001000cf712 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 51026 44 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 45 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 46 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 47 clang 0x00000001000cf246 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 49798 48 clang 0x00000001000cf712 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 51026 49 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 50 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 51 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 52 clang 0x00000001000af754 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 97748 53 clang 0x00000001000aebfb clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 94843 54 clang 0x00000001000aa169 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 75753 55 clang 0x00000001000ac967 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 85991 56 clang 0x00000001000aa169 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 75753 57 clang 0x00000001000c900e llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 24654 58 clang 0x00000001000c915b llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 24987 59 clang 0x00000001000c92c5 llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 25349 60 clang 0x00000001000c331f llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 863 61 clang 0x00000001000d16dd llvm::BitstreamCursor::ReadAbbreviatedField(llvm::BitCodeAbbrevOp const&, llvm::SmallVectorImpl<unsigned long long>&) + 59165 62 clang 0x00000001000aa556 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 76758 63 clang 0x00000001000b2d84 clang::ASTDeserializationListener::DeclRead(unsigned int, clang::Decl const*) + 111620 64 clang 0x000000010022d850 clang::MSP430InterruptAttr* clang::Decl::getAttr<clang::MSP430InterruptAttr>() const + 688 65 clang 0x000000010020aa80 llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >, llvm::TrackingVH<llvm::Value>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::TrackingVH<llvm::Value>, llvm::ValueMapConfig<llvm::Value const*>, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > > >, llvm::DenseMapInfo<llvm::TrackingVH<llvm::Value> > >::init(unsigned int) + 3312 66 clang 0x000000010002078b llvm::DenseMap<clang::IdentifierInfo const*, unsigned int, llvm::DenseMapInfo<clang::IdentifierInfo const*>, llvm::DenseMapInfo<unsigned int> >::grow(unsigned int) + 13403 67 clang 0x000000010000a7b5 llvm::SmallVectorImpl<char const*>::insert(char const**, char const* const&) + 3013 68 clang 0x0000000100002d18 69 clang 0x0000000100006b62 llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram() + 850 70 clang 0x0000000100001734 Stack dump: 0. Program arguments: /usr/local/bin/clang -cc1 -triple x86_64-apple-macosx10.6.8 -emit-obj -disable-free -main-file-name hybrid_times_ext.cpp -pic-level 2 -mdisable-fp-elim -relaxed-aliasing -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 123.2 -coverage-file hybrid_times_ext.o -resource-dir /usr/local/bin/../lib/clang/3.0 -include-pch precompiled.h.gch -D BOOST_ALL_NO_LIB -D BOOST_DISABLE_THREADS -D BOOST_PYTHON_MAX_BASES=2 -D NDEBUG -I /Users/luc/Developer/cctbx/boost -I /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -O3 -Wno-c++0x-extensions -Wno-array-bounds -fdeprecated-macro -ferror-limit 19 -fmessage-length 104 -stack-protector 1 -fblocks -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o hybrid_times_ext.o -x c++ hybrid_times_ext.cpp 1. hybrid_times_ext.cpp:4:1: current parser token 'namespace' 2. /Users/luc/Developer/cctbx/boost/boost/smart_ptr/detail/operator_bool.hpp:45:5: LLVM IR generation of declaration 'boost::shared_ptr::operator type-parameter-0-0 *<T>::*' 3. /Users/luc/Developer/cctbx/boost/boost/smart_ptr/detail/operator_bool.hpp:45:5: Mangling declaration 'boost::shared_ptr::operator type-parameter-0-0 *<T>::*' clang: error: unable to execute command: Segmentation fault clang: error: clang frontend command failed due to signal 2 (use -v to see invocation) clang: note: diagnostic msg: Please submit a bug report to http://llvm.org/bugs/ and include command line arguments and all diagnostic information. clang: note: diagnostic msg: Preprocessed source(s) are located at: clang: note: diagnostic msg: /var/folders/Zq/ZqzlClQvEKGueAD-kXuIXE+++TI/-Tmp-/hybrid_times_ext-nXYOY8.ii
Created attachment 7261 [details] Header to precompile
~> clang --version clang version 3.0 (http://llvm.org/git/clang.git c985b88efc9188845952ab524fe6d4717705257b) Target: x86_64-apple-darwin10.8.0 Thread model: posix
Cloned to <rdar://problem/10117105>.
r139644