diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2016-12-25 18:12:02 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2016-12-25 18:12:02 +0000 |
commit | 65711d60b5d0c971790381f4efabbaf0f3c2610d (patch) | |
tree | a5663d5edbad6e9269fdd6b556ed461635bf7888 /app-antivirus | |
parent | app-arch/libarchive: fix linking on Solaris (diff) | |
download | gentoo-65711d60b5d0c971790381f4efabbaf0f3c2610d.tar.gz gentoo-65711d60b5d0c971790381f4efabbaf0f3c2610d.tar.bz2 gentoo-65711d60b5d0c971790381f4efabbaf0f3c2610d.zip |
app-antivirus/clamav: fix build failure against gcc-6, bug #592432
Thanks to Peter Levine diagnosed an error as a reserved keyword
problem. I've picked renaming as it's done in upstreal llvm.
Reported-by: Francesco Turco
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'app-antivirus')
-rw-r--r-- | app-antivirus/clamav/clamav-0.99.2.ebuild | 2 | ||||
-rw-r--r-- | app-antivirus/clamav/files/clamav-0.99.2-gcc-6.patch | 84 |
2 files changed, 86 insertions, 0 deletions
diff --git a/app-antivirus/clamav/clamav-0.99.2.ebuild b/app-antivirus/clamav/clamav-0.99.2.ebuild index 1b0207dfc967..8cc42bbd3140 100644 --- a/app-antivirus/clamav/clamav-0.99.2.ebuild +++ b/app-antivirus/clamav/clamav-0.99.2.ebuild @@ -46,6 +46,8 @@ pkg_setup() { src_prepare() { use ppc64 && append-flags -mminimal-toc use uclibc && export ac_cv_type_error_t=yes + + epatch "${FILESDIR}"/${P}-gcc-6.patch #592432 } src_configure() { diff --git a/app-antivirus/clamav/files/clamav-0.99.2-gcc-6.patch b/app-antivirus/clamav/files/clamav-0.99.2-gcc-6.patch new file mode 100644 index 000000000000..2031edbd3822 --- /dev/null +++ b/app-antivirus/clamav/files/clamav-0.99.2-gcc-6.patch @@ -0,0 +1,84 @@ +diff --git a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h +index 59ff6aa..1325394 100644 +--- a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h ++++ b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h +@@ -169,3 +169,3 @@ public: + KeyLength+1; +- unsigned Alignment = alignof<StringMapEntry>(); ++ unsigned Alignment = alignOf<StringMapEntry>(); + +diff --git a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h +index 88044c7..86b0f40 100644 +--- a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h ++++ b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h +@@ -417,3 +417,3 @@ namespace llvm { + ileAllocator.Allocate(sizeof(IndexListEntry), +- alignof<IndexListEntry>())); ++ alignOf<IndexListEntry>())); + +diff --git a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h +index 6a7a1a6..979e597 100644 +--- a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h ++++ b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h +@@ -51,8 +51,8 @@ struct AlignOf { + +-/// alignof - A templated function that returns the mininum alignment of ++/// alignOf - A templated function that returns the mininum alignment of + /// of a type. This provides no extra functionality beyond the AlignOf + /// class besides some cosmetic cleanliness. Example usage: +-/// alignof<int>() returns the alignment of an int. ++/// alignOf<int>() returns the alignment of an int. + template <typename T> +-static inline unsigned alignof() { return AlignOf<T>::Alignment; } ++static inline unsigned alignOf() { return AlignOf<T>::Alignment; } + +diff --git a/libclamav/c++/llvm/include/llvm/Support/Allocator.h b/libclamav/c++/llvm/include/llvm/Support/Allocator.h +index 4a7251f..17caf5e 100644 +--- a/libclamav/c++/llvm/include/llvm/Support/Allocator.h ++++ b/libclamav/c++/llvm/include/llvm/Support/Allocator.h +@@ -203,3 +203,3 @@ public: + for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) { +- Ptr = Allocator.AlignPtr(Ptr, alignof<T>()); ++ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>()); + if (Ptr + sizeof(T) <= End) +diff --git a/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp b/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp +index b892d85..dc72346 100644 +--- a/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp ++++ b/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp +@@ -495,3 +495,3 @@ void SCEVUnknown::print(raw_ostream &OS) const { + if (isAlignOf(AllocTy)) { +- OS << "alignof(" << *AllocTy << ")"; ++ OS << "alignOf(" << *AllocTy << ")"; + return; +diff --git a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp +index 824021c..757ca50 100644 +--- a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp ++++ b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp +@@ -569,3 +569,3 @@ void Emitter<CodeEmitter>::emitMemModRMByte(const MachineInstr &MI, + // Calculate what the SS field value should be... +- static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 }; ++ static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u }; + unsigned SS = SSTable[Scale.getImm()]; +diff --git a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp +index 9564fe0..b2b7986 100644 +--- a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp ++++ b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp +@@ -332,3 +332,3 @@ void X86MCCodeEmitter::EmitMemModRMByte(const MCInst &MI, unsigned Op, + // Calculate what the SS field value should be... +- static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 }; ++ static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u }; + unsigned SS = SSTable[Scale.getImm()]; +diff --git a/libclamav/mpool.c b/libclamav/mpool.c +index cd38e15..b5e537d 100644 +--- a/libclamav/mpool.c ++++ b/libclamav/mpool.c +@@ -417,3 +417,3 @@ static size_t from_bits(unsigned int bits) { + +-static inline unsigned int alignof(size_t size) ++static inline unsigned int alignOf(size_t size) + { +@@ -609,3 +609,3 @@ static void* allocate_aligned(struct MPMAP *mpm, size_t size, unsigned align, co + void *mpool_malloc(struct MP *mp, size_t size) { +- size_t align = alignof(size); ++ size_t align = alignOf(size); + size_t i, needed = align_increase(size+FRAG_OVERHEAD, align); |