[0ad] Add proper patch for gcc 4.9 build
pcpa
pcpa at fedoraproject.org
Wed Jun 18 18:19:45 UTC 2014
commit 7b630d311c668b314a80aed632a6407492b89357
Author: pcpa <paulo.cesar.pereira.de.andrade at gmail.com>
Date: Wed Jun 18 15:17:30 2014 -0300
Add proper patch for gcc 4.9 build
0ad-check.patch | 21 ---------------------
0ad.spec | 5 ++++-
changeset_15334.diff | 42 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 46 insertions(+), 22 deletions(-)
---
diff --git a/0ad.spec b/0ad.spec
index 90de374..cd6cc91 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -19,7 +19,7 @@
Name: 0ad
Version: 0.0.16
-Release: 5%{?dist}
+Release: 6%{?dist}
# BSD License:
# build/premake/*
# libraries/valgrind/* (not built/used)
@@ -225,6 +225,9 @@ export STRIP=/bin/true
%{_mandir}/man6/*.6*
%changelog
+* Wed Jun 18 2014 pcpa <paulo.cesar.pereira.de.andrade at gmail.com> - 0.0.16-6
+- Add proper patch for gcc 4.9 build
+
* Fri Jun 6 2014 Peter Robinson <pbrobinson at fedoraproject.org> 0.0.16-5
- Remove old Fedora release conditionals
diff --git a/changeset_15334.diff b/changeset_15334.diff
new file mode 100644
index 0000000..5b17120
--- /dev/null
+++ b/changeset_15334.diff
@@ -0,0 +1,42 @@
+Index: /ps/trunk/source/lib/allocators/headerless.cpp
+===================================================================
+--- /ps/trunk/source/lib/allocators/headerless.cpp (revision 15333)
++++ /ps/trunk/source/lib/allocators/headerless.cpp (revision 15334)
+@@ -55,10 +55,12 @@
+ }
+
+- FreedBlock(uintptr_t id, size_t size)
+- : m_magic(s_magic), m_size(size), m_id(id)
+- {
+- }
+-
+- ~FreedBlock()
++ void Setup(uintptr_t id, size_t size)
++ {
++ m_magic = s_magic;
++ m_size = size;
++ m_id = id;
++ }
++
++ void Reset()
+ {
+ // clear all fields to prevent accidental reuse
+@@ -411,6 +413,7 @@
+ FreedBlock* WriteTags(u8* p, size_t size)
+ {
+- FreedBlock* freedBlock = new(p) FreedBlock(s_headerId, size);
+- (void)new(Footer(freedBlock)) FreedBlock(s_footerId, size);
++ FreedBlock* freedBlock = (FreedBlock*)p;
++ freedBlock->Setup(s_headerId, size);
++ Footer(freedBlock)->Setup(s_footerId, size);
+
+ m_freeBlocks++;
+@@ -431,6 +434,6 @@
+
+ FreedBlock* footer = Footer(freedBlock);
+- freedBlock->~FreedBlock();
+- footer->~FreedBlock();
++ freedBlock->Reset();
++ footer->Reset();
+ }
+
More information about the scm-commits
mailing list