Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-9396

Compilation error with GCC 8.1.1

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • High
    • 6.12/08, 6.14/00, 6.16/00
    • 6.12/06
    • None
    • None
    • OS: slc6

      ARCH: AMD64

      Compiler: GCC 8.1.1

      Build with Ninja

    Description

      While building tip of root v6-12-00-patches branch with GCC 8.1.1 we are getting compilation errors. Any idea how to fix this?

       

      FAILED: core/dictgen/CMakeFiles/Dictgen.dir/src/rootcling_impl.cxx.o
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/bin/g++ -Iinclude -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/res -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/../foundation/res -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/../clingutils/res -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include -Iinterpreter/llvm/src/include -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/tools/clang/include -Iinterpreter/llvm/src/tools/clang/include -I/build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/cling/include -D__ROOFIT_NOBANNER -Wno-implicit-fallthrough -Wno-noexcept-type -pipe -m64 -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -fPIC -pthread -std=c++1z -fvisibility=hidden -Wno-shadow -fno-strict-aliasing -Wno-unused-parameter -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -DLLVM_BUILD_GLOBAL_ISEL -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O2 -DNDEBUG -fPIC -fno-rtti -MD -MT core/dictgen/CMakeFiles/Dictgen.dir/src/rootcling_impl.cxx.o -MF core/dictgen/CMakeFiles/Dictgen.dir/src/rootcling_impl.cxx.o.d -o core/dictgen/CMakeFiles/Dictgen.dir/src/rootcling_impl.cxx.o -c /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx
      In file included from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/map:60,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:184:
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_tree.h: In instantiation of 'class std::_Rb_tree<ROOT::TMetaUtils::AnnotatedRecordDecl, ROOT::TMetaUtils::AnnotatedRecordDecl, std::_Identity<ROOT::TMetaUtils::AnnotatedRecordDecl>, ROOT::TMetaUtils::AnnotatedRecordDecl::CompareByName, std::allocator<ROOT::TMetaUtils::AnnotatedRecordDecl> >':
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_set.h:133:17: required from 'class std::set<ROOT::TMetaUtils::AnnotatedRecordDecl, ROOT::TMetaUtils::AnnotatedRecordDecl::CompareByName>'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/../clingutils/res/RStl.h:51:14: required from here
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_tree.h:457:21: error: static assertion failed: comparison object must be invocable as const
      static_assert(is_invocable_v<const _Compare&, const _Key&, const _Key&>,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/STLExtras.h:32,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/StringRef.h:13,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/cling/include/cling/Interpreter/Interpreter.h:15,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:218:
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h: In instantiation of 'void llvm::SmallVectorTemplateBase<T, true>::push_back(const T&) [with T = std::pair<void*, long unsigned int>]':
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/Support/Allocator.h:247:33: required from 'void* llvm::BumpPtrAllocatorImpl<AllocatorT, SlabSize, SizeThreshold>::Allocate(size_t, size_t) [with AllocatorT = llvm::MallocAllocator; long unsigned int SlabSize = 4096; long unsigned int SizeThreshold = 4096; size_t = long unsigned int]'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/tools/clang/include/clang/AST/ASTContext.h:637:42: required from here
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:309:11: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct std::pair<void*, long unsigned int>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
      memcpy(this->end(), &Elt, sizeof(T));
      ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_algobase.h:64,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/char_traits.h:39,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/string:40,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/res/rootcling_impl.h:11,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:167:
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_pair.h:198:12: note: 'struct std::pair<void*, long unsigned int>' declared here
      struct pair
      ^~~~
      In file included from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/STLExtras.h:32,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/StringRef.h:13,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/cling/include/cling/Interpreter/Interpreter.h:15,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:218:
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h: In instantiation of 'static void llvm::SmallVectorTemplateBase<T, true>::uninitialized_copy(T1*, T1*, T2*, typename std::enable_if<std::is_same<typename std::remove_const<T1>::type, T2>::value>::type*) [with T1 = std::pair<clang::CXXRecordDecl*, clang::SourceLocation>; T2 = std::pair<clang::CXXRecordDecl*, clang::SourceLocation>; T = std::pair<clang::CXXRecordDecl*, clang::SourceLocation>; typename std::enable_if<std::is_same<typename std::remove_const<T1>::type, T2>::value>::type = void]':
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:717:5: required from 'void llvm::SmallVectorImpl<T>::swap(llvm::SmallVectorImpl<T>&) [with T = std::pair<clang::CXXRecordDecl*, clang::SourceLocation>]'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/tools/clang/include/clang/Sema/Sema.h:7516:40: required from here
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:296:13: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct std::pair<clang::CXXRecordDecl*, clang::SourceLocation>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
      memcpy(Dest, I, (E - I) * sizeof(T));
      ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_algobase.h:64,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/char_traits.h:39,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/string:40,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/res/rootcling_impl.h:11,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:167:
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_pair.h:198:12: note: 'struct std::pair<clang::CXXRecordDecl*, clang::SourceLocation>' declared here
      struct pair
      ^~~~
      In file included from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/STLExtras.h:32,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/StringRef.h:13,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/cling/include/cling/Interpreter/Interpreter.h:15,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:218:
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h: In instantiation of 'static void llvm::SmallVectorTemplateBase<T, true>::uninitialized_copy(T1*, T1*, T2*, typename std::enable_if<std::is_same<typename std::remove_const<T1>::type, T2>::value>::type*) [with T1 = std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>; T2 = std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>; T = std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>; typename std::enable_if<std::is_same<typename std::remove_const<T1>::type, T2>::value>::type = void]':
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:717:5: required from 'void llvm::SmallVectorImpl<T>::swap(llvm::SmallVectorImpl<T>&) [with T = std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>]'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:947:5: required from 'void std::swap(llvm::SmallVector<T, N>&, llvm::SmallVector<T, N>&) [with T = std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>; unsigned int N = 2]'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/tools/clang/include/clang/Sema/Sema.h:802:73: required from here
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:296:13: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
      memcpy(Dest, I, (E - I) * sizeof(T));
      ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_algobase.h:64,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/char_traits.h:39,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/string:40,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/res/rootcling_impl.h:11,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:167:
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_pair.h:198:12: note: 'struct std::pair<const clang::CXXMethodDecl*, const clang::CXXMethodDecl*>' declared here
      struct pair
      ^~~~
      In file included from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/STLExtras.h:32,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/StringRef.h:13,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/cling/include/cling/Interpreter/Interpreter.h:15,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:218:
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h: In instantiation of 'static void llvm::SmallVectorTemplateBase<T, true>::uninitialized_copy(T1*, T1*, T2*, typename std::enable_if<std::is_same<typename std::remove_const<T1>::type, T2>::value>::type*) [with T1 = std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>; T2 = std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>; T = std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>; typename std::enable_if<std::is_same<typename std::remove_const<T1>::type, T2>::value>::type = void]':
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:717:5: required from 'void llvm::SmallVectorImpl<T>::swap(llvm::SmallVectorImpl<T>&) [with T = std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>]'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:947:5: required from 'void std::swap(llvm::SmallVector<T, N>&, llvm::SmallVector<T, N>&) [with T = std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>; unsigned int N = 2]'
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/tools/clang/include/clang/Sema/Sema.h:804:53: required from here
      /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/interpreter/llvm/src/include/llvm/ADT/SmallVector.h:296:13: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
      memcpy(Dest, I, (E - I) * sizeof(T));
      ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_algobase.h:64,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/char_traits.h:39,
      from /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/string:40,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/res/rootcling_impl.h:11,
      from /build/muz/buildgcc8/w/BUILD/slc6_amd64_gcc810/lcg/root/6.12.07/root-6.12.07/core/dictgen/src/rootcling_impl.cxx:167:
      /build/muz/buildgcc8/w/slc6_amd64_gcc810/external/gcc/8.1.0-cms/include/c++/8.1.1/bits/stl_pair.h:198:12: note: 'struct std::pair<clang::CXXMethodDecl*, const clang::FunctionProtoType*>' declared here
      struct pair
      ^~~~
      ninja: build stopped: subcommand failed.
      
      

      Attachments

        Issue Links

          Activity

            People

              axel Axel Naumann
              muzaffar Malik Shahzad Muzaffar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: