https://llvm.org/bugs/show_bug.cgi?id=26157
Bug ID: 26157 Summary: Problem Compiling file://tools/clang/lib/StaticAnalyzer/Core/clangStatic AnalyzerCore/DynamicTypeMap.cpp Product: Build scripts Version: 3.8 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: cmake Assignee: unassignedb...@nondot.org Reporter: laurent.delo...@etudiant.univ-bpclermont.fr CC: llvm-bugs@lists.llvm.org Classification: Unclassified I'm trying to compile clang, with the following configuration: - clang-3.8, trunk revision 257608 - compiled with gcc-4.8.1 - OS is 12.04LTS_32bits - cmake version: cmake version 3.3.2 - svn version :svn, version 1.9.3 (r1718519) While the same repository compiles fine under 14.04LTS_64bits-gcc-4.8.3, the compile process blocks with file clang/lib/StaticAnalyzer/DynamicTypeMap.cpp. I cant explain why this error doesn't show up under 14.04_64bits, but shows under 12.04_32bits. ========== ERROR REPORT ========== [ 69%] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/clangStaticAnalyzerCore.dir/DynamicTypeMap.cpp.o In file included from /llvm/tools/clang/lib/CodeGen/CGBuilder.h:14:0, from /llvm/tools/clang/lib/CodeGen/CodeGenFunction.h:17, from /llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp:15: /llvm/tools/clang/lib/CodeGen/Address.h:111:31: error: cannot allocate an object of abstract type ‘llvm::object::ObjectFile’ template <class U> inline U cast(clang::CodeGen::Address addr) { ^ In file included from /llvm/ProfileData/CoverageMappingReader.h:21:0, from /llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp:20: /llvm/Object/ObjectFile.h:175:7: note: because the following virtual functions are pure within ‘llvm::object::ObjectFile’: class ObjectFile : public SymbolicFile { ^ In file included from /llvm/Object/ObjectFile.h:18:0, from /llvm/ProfileData/CoverageMappingReader.h:21, from /llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp:20: /llvm/Object/SymbolicFile.h:132:16: note: virtual void llvm::object::SymbolicFile::moveSymbolNext(llvm::object::DataRefImpl&) const virtual void moveSymbolNext(DataRefImpl &Symb) const = 0; ^ /llvm/Object/SymbolicFile.h:137:20: note: virtual uint32_t llvm::object::SymbolicFile::getSymbolFlags(llvm::object::DataRefImpl) const virtual uint32_t getSymbolFlags(DataRefImpl Symb) const = 0; ^ /llvm/Object/SymbolicFile.h:139:33: note: virtual llvm::object::basic_symbol_iterator llvm::object::SymbolicFile::symbol_begin_impl() const virtual basic_symbol_iterator symbol_begin_impl() const = 0; ^ /llvm/Object/SymbolicFile.h:141:33: note: virtual llvm::object::basic_symbol_iterator llvm::object::SymbolicFile::symbol_end_impl() const virtual basic_symbol_iterator symbol_end_impl() const = 0; ^ In file included from /llvm/ProfileData/CoverageMappingReader.h:21:0, from /llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp:20: /llvm/Object/ObjectFile.h:196:30: note: virtual llvm::ErrorOr<llvm::StringRef> llvm::object::ObjectFile::getSymbolName(llvm::object::DataRefImpl) const virtual ErrorOr<StringRef> getSymbolName(DataRefImpl Symb) const = 0; ^ /llvm/Object/ObjectFile.h:199:29: note: virtual llvm::ErrorOr<long long unsigned int> llvm::object::ObjectFile::getSymbolAddress(llvm::object::DataRefImpl) const virtual ErrorOr<uint64_t> getSymbolAddress(DataRefImpl Symb) const = 0; ^ /llvm/Object/ObjectFile.h:200:20: note: virtual uint64_t llvm::object::ObjectFile::getSymbolValueImpl(llvm::object::DataRefImpl) const virtual uint64_t getSymbolValueImpl(DataRefImpl Symb) const = 0; ^ /llvm/Object/ObjectFile.h:202:20: note: virtual uint64_t llvm::object::ObjectFile::getCommonSymbolSizeImpl(llvm::object::DataRefImpl) const virtual uint64_t getCommonSymbolSizeImpl(DataRefImpl Symb) const = 0; ^ /llvm/Object/ObjectFile.h:203:27: note: virtual llvm::object::SymbolRef::Type llvm::object::ObjectFile::getSymbolType(llvm::object::DataRefImpl) const virtual SymbolRef::Type getSymbolType(DataRefImpl Symb) const = 0; ^ /llvm/Object/ObjectFile.h:205:3: note: virtual llvm::ErrorOr<llvm::object::content_iterator<llvm::object::SectionRef> > llvm::object::ObjectFile::getSymbolSection(llvm::object::DataRefImpl) const getSymbolSection(DataRefImpl Symb) const = 0; ^ /llvm/Object/ObjectFile.h:209:16: note: virtual void llvm::object::ObjectFile::moveSectionNext(llvm::object::DataRefImpl&) const virtual void moveSectionNext(DataRefImpl &Sec) const = 0; ^ /llvm/Object/ObjectFile.h:210:27: note: virtual std::error_code llvm::object::ObjectFile::getSectionName(llvm::object::DataRefImpl, llvm::StringRef&) const virtual std::error_code getSectionName(DataRefImpl Sec, ^ /llvm/Object/ObjectFile.h:212:20: note: virtual uint64_t llvm::object::ObjectFile::getSectionAddress(llvm::object::DataRefImpl) const virtual uint64_t getSectionAddress(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:213:20: note: virtual uint64_t llvm::object::ObjectFile::getSectionSize(llvm::object::DataRefImpl) const virtual uint64_t getSectionSize(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:214:27: note: virtual std::error_code llvm::object::ObjectFile::getSectionContents(llvm::object::DataRefImpl, llvm::StringRef&) const virtual std::error_code getSectionContents(DataRefImpl Sec, ^ /llvm/Object/ObjectFile.h:216:20: note: virtual uint64_t llvm::object::ObjectFile::getSectionAlignment(llvm::object::DataRefImpl) const virtual uint64_t getSectionAlignment(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:217:16: note: virtual bool llvm::object::ObjectFile::isSectionText(llvm::object::DataRefImpl) const virtual bool isSectionText(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:218:16: note: virtual bool llvm::object::ObjectFile::isSectionData(llvm::object::DataRefImpl) const virtual bool isSectionData(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:219:16: note: virtual bool llvm::object::ObjectFile::isSectionBSS(llvm::object::DataRefImpl) const virtual bool isSectionBSS(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:221:16: note: virtual bool llvm::object::ObjectFile::isSectionVirtual(llvm::object::DataRefImpl) const virtual bool isSectionVirtual(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:222:31: note: virtual llvm::object::relocation_iterator llvm::object::ObjectFile::section_rel_begin(llvm::object::DataRefImpl) const virtual relocation_iterator section_rel_begin(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:223:31: note: virtual llvm::object::relocation_iterator llvm::object::ObjectFile::section_rel_end(llvm::object::DataRefImpl) const virtual relocation_iterator section_rel_end(DataRefImpl Sec) const = 0; ^ /llvm/Object/ObjectFile.h:228:16: note: virtual void llvm::object::ObjectFile::moveRelocationNext(llvm::object::DataRefImpl&) const virtual void moveRelocationNext(DataRefImpl &Rel) const = 0; ^ /llvm/Object/ObjectFile.h:229:20: note: virtual uint64_t llvm::object::ObjectFile::getRelocationOffset(llvm::object::DataRefImpl) const virtual uint64_t getRelocationOffset(DataRefImpl Rel) const = 0; ^ /llvm/Object/ObjectFile.h:230:27: note: virtual llvm::object::symbol_iterator llvm::object::ObjectFile::getRelocationSymbol(llvm::object::DataRefImpl) const virtual symbol_iterator getRelocationSymbol(DataRefImpl Rel) const = 0; ^ /llvm/Object/ObjectFile.h:231:20: note: virtual uint64_t llvm::object::ObjectFile::getRelocationType(llvm::object::DataRefImpl) const virtual uint64_t getRelocationType(DataRefImpl Rel) const = 0; ^ /llvm/Object/ObjectFile.h:232:16: note: virtual void llvm::object::ObjectFile::getRelocationTypeName(llvm::object::DataRefImpl, llvm::SmallVectorImpl<char>&) const virtual void getRelocationTypeName(DataRefImpl Rel, ^ /llvm/Object/ObjectFile.h:248:28: note: virtual llvm::object::section_iterator llvm::object::ObjectFile::section_begin() const virtual section_iterator section_begin() const = 0; ^ /llvm/Object/ObjectFile.h:249:28: note: virtual llvm::object::section_iterator llvm::object::ObjectFile::section_end() const virtual section_iterator section_end() const = 0; ^ /llvm/Object/ObjectFile.h:258:19: note: virtual uint8_t llvm::object::ObjectFile::getBytesInAddress() const virtual uint8_t getBytesInAddress() const = 0; ^ /llvm/Object/ObjectFile.h:260:21: note: virtual llvm::StringRef llvm::object::ObjectFile::getFileFormatName() const virtual StringRef getFileFormatName() const = 0; ^ /llvm/Object/ObjectFile.h:261:43: note: virtual unsigned int llvm::object::ObjectFile::getArch() const virtual /* Triple::ArchType */ unsigned getArch() const = 0; ^ /llvm/Object/ObjectFile.h:270:16: note: virtual bool llvm::object::ObjectFile::isRelocatableObject() const virtual bool isRelocatableObject() const = 0; ^ ========== END OF ERROR ========== -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs