diff options
author | joerg <joerg@pkgsrc.org> | 2012-11-07 15:24:39 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2012-11-07 15:24:39 +0000 |
commit | a129108b5eb337bbadf592f783bdf99ce27f3ff8 (patch) | |
tree | 1e64ea187bcae663c3927bf99809da593cf18afb /games | |
parent | d0895794918064639e53adf5ef4fafec824ed322 (diff) | |
download | pkgsrc-a129108b5eb337bbadf592f783bdf99ce27f3ff8.tar.gz |
Fix ODR violation that results in clang not emitting the vtable for
Path, if the inline function isn't emitted separately due to
optimisations.
Diffstat (limited to 'games')
-rw-r--r-- | games/crimsonfields/distinfo | 3 | ||||
-rw-r--r-- | games/crimsonfields/patches/patch-src_cf_path.cpp | 15 |
2 files changed, 17 insertions, 1 deletions
diff --git a/games/crimsonfields/distinfo b/games/crimsonfields/distinfo index 258070d7723..26c26a0a513 100644 --- a/games/crimsonfields/distinfo +++ b/games/crimsonfields/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.17 2008/04/24 21:26:49 wiz Exp $ +$NetBSD: distinfo,v 1.18 2012/11/07 15:24:39 joerg Exp $ SHA1 (crimson-0.5.2.tar.bz2) = c772f9c0bb34ac47251c7aaf8f4e55a49df463f0 RMD160 (crimson-0.5.2.tar.bz2) = a78df45718a76476b063a46e3d7a3d623d4cf07b Size (crimson-0.5.2.tar.bz2) = 858371 bytes +SHA1 (patch-src_cf_path.cpp) = c4f8efb3c7e6f70af94b5bfd468a070003914322 diff --git a/games/crimsonfields/patches/patch-src_cf_path.cpp b/games/crimsonfields/patches/patch-src_cf_path.cpp new file mode 100644 index 00000000000..a4909735d59 --- /dev/null +++ b/games/crimsonfields/patches/patch-src_cf_path.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-src_cf_path.cpp,v 1.1 2012/11/07 15:24:39 joerg Exp $ + +The inline violates the ODR rule for Path. + +--- src/cf/path.cpp.orig 2012-11-05 17:03:05.000000000 +0000 ++++ src/cf/path.cpp +@@ -212,7 +212,7 @@ short Path::Find( const Unit *u, const P + // RETURNS : estimated cost to destination + //////////////////////////////////////////////////////////////////////// + +-inline unsigned short Path::ETA( const Point &p ) const { ++unsigned short Path::ETA( const Point &p ) const { + return Distance( p, end ) * quality; + } + |