[PATCH][2/n] Always 64bit-HWI cleanups

Jeff Law law@redhat.com
Fri May 23 17:57:00 GMT 2014


On 05/23/14 05:45, Richard Biener wrote:
>
> The following changes the configury to insist on [u]int64_t being
> available and removes the very old __int64 case.  Autoconf doesn't
> check for it, support came in via a big merge in Dec 2002, r60174,
> and it was never used on the libcpp side until I fixed that with
> the last patch of this series, so we couldn't have relied on it
> at least since libcpp was introduced.
>
> Both libcpp and vmsdbg.h now use [u]int64_t, switching HOST_WIDE_INT
> to literally use int64_t has to be done with the grand renaming of
> all users due to us using 'unsigned HOST_WIDE_INT'.
>
> Btw, I couldn't find any "standard" way of writing
> [u]int64_t literals (substitution for HOST_WIDE_INT_C) nor
> one for printf formats (substitutions for HOST_WIDE_INT_PRINT
> and friends).  I'll consider doing s/HOST_WIDE_INT/[U]INT64/
> there if nobody comes up with a better plan.
>
> Unfortunately any followup will be the whole renaming game
> at once due to the 'unsigned' issue.  I'll make sure to
> propose a hwint.h-only patch with a renaming guide for
> review and expect the actual renaming to take place using
> a script.
>
> Bootstrap and regtest running on x86_64-unknown-linux-gnu, ok?
>
> After this patch you may use [u]int64_t freely in host sources
> (lto-plugin already does that - heh).
>
> Thanks,
> Richard.
>
> 2014-05-23  Richard Biener  <rguenther@suse.de>
>
> 	libcpp/
> 	* configure.ac: Remove long long and __int64 type checks,
> 	add check for uint64_t and fail if that wasn't found.
> 	* include/cpplib.h (cpp_num_part): Use uint64_t.
> 	* config.in: Regenerate.
> 	* configure: Likewise.
>
> 	gcc/
> 	* configure.ac: Drop __int64 type check.  Insist that we
> 	found uint64_t and int64_t.
> 	* hwint.h (HOST_BITS_PER___INT64): Remove.
> 	(HOST_BITS_PER_WIDE_INT): Define to 64 and remove
> 	__int64 case.
> 	(HOST_WIDE_INT_PRINT_*): Remove 32bit case.
> 	(HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
> 	(HOST_WIDEST_FAST_INT): Remove __int64 case.
> 	* vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
> 	for dst_q_src_df_rms_cdt.
> 	* configure: Regenerate.
> 	* config.in: Likewise.
OK.

Jeff



More information about the Gcc-patches mailing list