[cfe-dev] pch generation of C++ header failure...

Fons Rademakers Fons.Rademakers at cern.ch
Mon Oct 5 17:51:58 PDT 2009


Hi,

   should pch generation for a simple C++ class already work in clang 
(trunk of today)?

I try:

clang -x c++-header myclass.h

which gives an assert error:

Assertion failed: (Writer.Code != pch::STMT_NULL_PTR && "Unhandled 
expression writing PCH file"), function WriteSubStmt, file 
/Users/rdm/llvm/src/tools/clang/lib/Frontend/PCHWriterStmt.cpp, line 834.
0   clang-cc          0x0000000100ccfee7 PrintStackTrace(void*) + 38
1   clang-cc          0x0000000100cd0475 SignalHandler(int) + 336
2   libSystem.B.dylib 0x00007fff882480aa _sigtramp + 26
3   libSystem.B.dylib 0x00007fff881ecb2a tiny_malloc_from_free_list + 1196
4   libSystem.B.dylib 0x00007fff882c40b4 __pthread_markcancel + 0
5   clang-cc          0x00000001000b590c 
clang::PCHWriter::WriteSubStmt(clang::Stmt*) + 232
6   clang-cc          0x00000001000b7318 (anonymous 
namespace)::PCHStmtWriter::VisitMemberExpr(clang::MemberExpr*) + 54
7   clang-cc          0x00000001000b50f2 clang::StmtVisitor<(anonymous 
namespace)::PCHStmtWriter, void>::Visit(clang::Stmt*) + 2742
8   clang-cc          0x00000001000b58d9 
clang::PCHWriter::WriteSubStmt(clang::Stmt*) + 181
9   clang-cc          0x00000001000b6b4a (anonymous 
namespace)::PCHStmtWriter::VisitBinaryOperator(clang::BinaryOperator*) + 54
10  clang-cc          0x00000001000b6e57 clang::StmtVisitor<(anonymous 
namespace)::PCHStmtWriter, void>::VisitBinAssign(clang::BinaryOperator*) + 29
11  clang-cc          0x00000001000b48f7 clang::StmtVisitor<(anonymous 
namespace)::PCHStmtWriter, void>::Visit(clang::Stmt*) + 699
12  clang-cc          0x00000001000b58d9 
clang::PCHWriter::WriteSubStmt(clang::Stmt*) + 181
13  clang-cc          0x00000001000b82b0 (anonymous 
namespace)::PCHStmtWriter::VisitCompoundStmt(clang::CompoundStmt*) + 112
14  clang-cc          0x00000001000b4dd4 clang::StmtVisitor<(anonymous 
namespace)::PCHStmtWriter, void>::Visit(clang::Stmt*) + 1944
15  clang-cc          0x00000001000b56f3 clang::PCHWriter::FlushStmts() + 253
16  clang-cc          0x00000001000b2c86 
clang::PCHWriter::WriteDeclsBlock(clang::ASTContext&) + 846
17  clang-cc          0x00000001000a48cb 
clang::PCHWriter::WritePCH(clang::Sema&, clang::MemorizeStatCalls*, char 
const*) + 1701
18  clang-cc          0x0000000100055bee (anonymous 
namespace)::PCHGenerator::HandleTranslationUnit(clang::ASTContext&) + 256
19  clang-cc          0x00000001002847e0 
clang::ParseAST(clang::Preprocessor&, clang::ASTConsumer*, 
clang::ASTContext&, bool, bool, clang::CodeCompleteConsumer* 
(*)(clang::Sema&, void*), void*) + 760
20  clang-cc          0x000000010002ba21 
ProcessInputFile(clang::Preprocessor&, clang::PreprocessorFactory&, 
std::string const&, ProgActions, llvm::StringMap<bool, 
llvm::MallocAllocator> const&, llvm::LLVMContext&) + 3664
21  clang-cc          0x000000010002d137 main + 3269
22  clang-cc          0x00000001000270dc start + 52
23  clang-cc          0x0000000000000016 start + 4294807406
Stack dump:
0.      Program arguments: /Users/rdm/llvm/inst/bin/../libexec/clang-cc 
-triple x86_64-apple-darwin10 -emit-pch -disable-free -main-file-name 
myclass.h --relocation-model pic -pic-level=1 --disable-fp-elim 
--unwind-tables=1 --mcpu=core2 --fmath-errno=0 -mmacosx-version-min=10.6 
-fexceptions -fdiagnostics-show-option -o myclass.h.gch -x c++-header 
myclass.h
1.      <eof> parser at end of file
clang: error: precompiler command failed due to signal 6 (use -v to see 
invocation)


For the attached trivial myclass.h.


Cheers, Fons.

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers at cern.ch              Phone: +41 22 7679248
WWW:    http://fons.rademakers.org           Fax:   +41 22 7669640
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: myclass.h
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20091006/fd2e7842/attachment.h>


More information about the cfe-dev mailing list