Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-17273

clangrefactoringbackend fails to compile with LLVM 3.8

    XMLWordPrintable

Details

    Description

      Error with Clang:

      /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.cpp:41:31: error: call to
            implicitly-deleted copy constructor of 'clang::tooling::ClangTool'
          clang::tooling::ClangTool tool = createTool();
                                    ^      ~~~~~~~~~~~~
      /usr/include/clang/Tooling/Tooling.h:340:21: note: copy constructor of 'ClangTool' is implicitly deleted because field
            'SeenWorkingDirectories' has a deleted copy constructor
        llvm::StringSet<> SeenWorkingDirectories;
                          ^
      /usr/include/llvm/ADT/StringSet.h:23:21: note: copy constructor of 'StringSet<llvm::MallocAllocator>' is implicitly deleted
            because base class 'llvm::StringMap<char, MallocAllocator>' has a deleted copy constructor
        class StringSet : public llvm::StringMap<char, AllocatorTy> {
                          ^
      /usr/include/llvm/ADT/StringMap.h:242:3: note: copy constructor is implicitly deleted because
            'StringMap<char, llvm::MallocAllocator>' has a user-declared move constructor
        StringMap(StringMap &&RHS)
        ^
      

      Error with GCC:

      /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.cpp: In member function ‘void ClangBackEnd::SymbolFinder::findSymbol()’:
      /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.cpp:41:49: error: use of deleted function ‘clang::tooling::ClangTool::ClangTool(const clang::tooling::ClangTool&)’
           clang::tooling::ClangTool tool = createTool();
                                                       ^
      In file included from /usr/include/clang/Tooling/Refactoring.h:23:0,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/clangtool.h:39,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.h:28,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.cpp:26:
      /usr/include/clang/Tooling/Tooling.h:279:7: note: ‘clang::tooling::ClangTool::ClangTool(const clang::tooling::ClangTool&)’ is implicitly deleted because the default definition would be ill-formed:
       class ClangTool {
             ^~~~~~~~~
      /usr/include/clang/Tooling/Tooling.h:279:7: error: use of deleted function ‘llvm::StringSet<>::StringSet(const llvm::StringSet<>&)’
      In file included from /usr/include/llvm/Option/OptTable.h:14:0,
                       from /usr/include/llvm/Option/Option.h:15,
                       from /usr/include/clang/Tooling/Tooling.h:45,
                       from /usr/include/clang/Tooling/Refactoring.h:23,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/clangtool.h:39,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.h:28,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.cpp:26:
      /usr/include/llvm/ADT/StringSet.h:23:9: note: ‘llvm::StringSet<>::StringSet(const llvm::StringSet<>&)’ is implicitly deleted because the default definition would be ill-formed:
         class StringSet : public llvm::StringMap<char, AllocatorTy> {
               ^~~~~~~~~
      /usr/include/llvm/ADT/StringSet.h:23:9: error: use of deleted function ‘llvm::StringMap<char, llvm::MallocAllocator>::StringMap(const llvm::StringMap<char, llvm::MallocAllocator>&)’
      In file included from /usr/include/llvm/Support/Host.h:17:0,
                       from /usr/include/llvm/ADT/Hashing.h:49,
                       from /usr/include/llvm/ADT/ArrayRef.h:13,
                       from /usr/include/clang/Tooling/CompilationDatabase.h:32,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/refactoringcompilationdatabase.h:34,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/clangtool.h:28,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.h:28,
                       from /home/tjmaciei/src/qt/qt-creator/src/tools/clangrefactoringbackend/source/symbolfinder.cpp:26:
      /usr/include/llvm/ADT/StringMap.h:218:7: note: ‘llvm::StringMap<char, llvm::MallocAllocator>::StringMap(const llvm::StringMap<char, llvm::MallocAllocator>&)’ is implicitly declared as deleted because ‘llvm::StringMap<char, llvm::MallocAllocator>’ declares a move constructor or move assignment operator
       class StringMap : public StringMapImpl {
             ^~~~~~~~~
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            bubke Marco Bubke
            thiago Thiago Macieira
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes