This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: How to clear compile error when using rdrand64_step due to typedef'ing a 64-bit type?
- From: Jeffrey Walton <noloader at gmail dot com>
- To: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Fri, 19 Aug 2016 02:53:25 -0400
- Subject: Re: How to clear compile error when using rdrand64_step due to typedef'ing a 64-bit type?
- Authentication-results: sourceware.org; auth=none
- References: <CAH8yC8nB-rBT-YmWCv8-Di7hPhKYiOaxWib5k_Ms=33rRVX+SA@mail.gmail.com> <CAH6eHdReC5PY99B3daAe7KupbGwD6a4yOe6whM7UM3hAL0OtKg@mail.gmail.com> <CAH8yC8nMafHmEO=0v3_UU6Rm7gdzvfvG8+5J45Kony5W72h02Q@mail.gmail.com> <CAH6eHdS2ca5uc4HRis6r9-hM9-YheV0tiWov=fHxS=n7ZHK7UA@mail.gmail.com>
- Reply-to: noloader at gmail dot com
>> Forgive my ignorance... 'unsigned long' is 64 bits, which is what that
>> interface needs (if I am reading the docs correctly).
>
> The functions takes a pointer to an unsigned 64-bit type, not
> necessarily unsigned long.
Thanks again Jonathon. I guess this is what I don't quite
understand... From the preprocessor, GCC tells me the UINT64 type is
the following on x86_64:
#define __UINT64_TYPE__ long unsigned int
If 'long unsigned int' is the 64-bit integer and it meets alignment
and size requirements (as a 'minimum' of sorts), then why can't it be
used where the 64-bit type is required (i..e, the pointer in the call
to _rdrand64_step).
Jeff