[LLVMbugs] [Bug 10922] New: Precompiled headers bug in relation to Boost.Python

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Sep 13 05:26:48 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10922

           Summary: Precompiled headers bug in relation to Boost.Python
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: luc_j_bourhis at mac.com
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Created an attachment (id=7260)
 --> (http://llvm.org/bugs/attachment.cgi?id=7260)
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

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list