--- /dev/null
+--- crunch/crnlib/crn_vector.cpp.orig 2014-05-14 19:48:46.000000000 +0200
++++ crunch/crnlib/crn_vector.cpp 2014-05-24 06:48:23.591922481 +0200
+@@ -22,8 +22,9 @@ namespace crnlib
+ return true;\r
+ \r
+ size_t new_capacity = min_new_capacity;\r
+- if ((grow_hint) && (!math::is_power_of_2(new_capacity)))\r
+- new_capacity = math::next_pow2(new_capacity);\r
++ // avoid overload ambiguity (size_t vs uint32=unsigned int or uint64=unsigned long long) by casting to matching type, that will fit size_t\r
++ if ((grow_hint) && (!math::is_power_of_2(static_cast<ptr_bits_t>(new_capacity))))\r
++ new_capacity = math::next_pow2(static_cast<ptr_bits_t>(new_capacity));\r
+ \r
+ CRNLIB_ASSERT(new_capacity && (new_capacity > m_capacity));\r
+ \r
+--- crunch/inc/crn_decomp.h.orig 2014-05-14 19:48:47.000000000 +0200
++++ crunch/inc/crn_decomp.h 2014-05-22 20:49:43.321075804 +0200
+@@ -374,7 +374,7 @@ namespace crnd
+ \r
+ const uint32 cIntBits = 32U;\r
+ \r
+-#ifdef _WIN64\r
++#if defined(_WIN64) || defined(__MINGW64__) || defined(_LP64) || defined(__LP64__)\r
+ typedef uint64 ptr_bits;\r
+ #else\r
+ typedef uint32 ptr_bits;\r
Source0: crunch-104.tar.xz
# Source0-md5: f92837bba95abf27d6bd9ae0b2b04863
Patch0: %{name}-c++.patch
+Patch1: %{name}-types.patch
URL: http://code.google.com/p/crunch/
BuildRequires: libstdc++-devel
BuildRequires: libtool
%prep
%setup -q -n crunch
%patch0 -p1
+%patch1 -p1
%{__sed} -i -e '/g++.*COMPILE_OPTIONS/s/g++/$(CXX)/' crnlib/Makefile
%{__sed} -i -e '/g++.*LINKER_OPTIONS/s/g++/$(CXXLINK)/' crnlib/Makefile