[llvm-bugs] [Bug 26157] New: Problem Compiling file://tools/clang/lib/StaticAnalyzer/Core/clangStaticAnalyzerCore/DynamicTypeMap.cpp

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jan 15 04:44:03 PST 2016


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: unassignedbugs at nondot.org
          Reporter: laurent.delobel at etudiant.univ-bpclermont.fr
                CC: llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160115/3ea3aac8/attachment-0001.html>


More information about the llvm-bugs mailing list