How to clear compile error when using rdrand64_step due to typedef'ing a 64-bit type?

Jonathan Wakely jwakely.gcc@gmail.com
Fri Aug 19 08:53:00 GMT 2016


On 19 August 2016 at 09:07, Jeffrey Walton wrote:
>> You've basically gone chasing after some unrelated definition (that of
>> uint64_t) which has nothing to do with _rdrand64(), looking at
>> unrelated implementation details of that different type, and the
>> simple solution is to just use the type in the function declaration.
>
> That's how Intel documents it.

They document it as unsigned __int64 but that's not a standard type.

That's not a standard type. You found some definition of __int64 in a
different set of GCC headers and chased that, but there's no guarantee
that the header you looked in defined it consistently with how it's
used in the Intel docs.

> A long time ago I was told to use Intel's documentation because GCC
> does not provide it (cf.,
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=68081).

GCC might not document the function, but the header unambiguously
defines the function signature, and it takes unsigned long long*.



More information about the Gcc-help mailing list