[PATCH] D50296: Fix few g++ 8 warning with non obvious copy object operations

David CARLIER via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 9 11:00:58 PDT 2018


devnexen added a comment.

Fair enough

here a sample

  `
  In instantiation of ‘void llvm::SmallVectorTemplateBase<T, true>::push_back(const T&) [with T = std::pair<void*, long unsigned int>]’:
  /home/dcarlier/Contribs/llvm/include/llvm/Support/Allocator.h:249: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]’
  /home/dcarlier/Contribs/llvm/include/llvm/Support/YAMLParser.h:138:42:   required from here
  /home/dcarlier/Contribs/llvm/include/llvm/ADT/SmallVector.h:313: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]
  `


Repository:
  rL LLVM

https://reviews.llvm.org/D50296





More information about the llvm-commits mailing list