newsbot
23.09.2015, 08:11
Автор: evil-at-wow
<pre style='white-space:pre-wrap;width:81ex'>Fix the type of a local variable.
This fixes compile errors on some systems, such as GCC on Mac OS X.
The intention has always been to use `void ACE_Time_Value::msec(ACE_UINT64 &)`.
This has always worked fine because there was no real difference between the
two types uint64 and ACE_UINT64, because the former was a typedef of the latter.
See older revisions of src/framework/Platform/Define.h.
But now uint64 is a C++11 fixed width integer type, which will typically be
`unsigned long long`, while ACE_UINT64 is still `unsigned long` on systems
using the LP64 data model (Linux, Mac OS X, BSD) - see the CMaNGOS modification
in dep.ACE_wrappers/configure. The difference between the types then causes an
ambigious call compile error, because there are other msec functions taking
arguments of type long and int.</pre>
Подробнее... (https://github.com/cmangos/mangos-wotlk/commit/931a7ba6f4cb1c40e7f64dd936581e923a7dfdad)
<pre style='white-space:pre-wrap;width:81ex'>Fix the type of a local variable.
This fixes compile errors on some systems, such as GCC on Mac OS X.
The intention has always been to use `void ACE_Time_Value::msec(ACE_UINT64 &)`.
This has always worked fine because there was no real difference between the
two types uint64 and ACE_UINT64, because the former was a typedef of the latter.
See older revisions of src/framework/Platform/Define.h.
But now uint64 is a C++11 fixed width integer type, which will typically be
`unsigned long long`, while ACE_UINT64 is still `unsigned long` on systems
using the LP64 data model (Linux, Mac OS X, BSD) - see the CMaNGOS modification
in dep.ACE_wrappers/configure. The difference between the types then causes an
ambigious call compile error, because there are other msec functions taking
arguments of type long and int.</pre>
Подробнее... (https://github.com/cmangos/mangos-wotlk/commit/931a7ba6f4cb1c40e7f64dd936581e923a7dfdad)