config.gcc: Remove need_64bit_hwint.

2014-05-20  Richard Biener  <rguenther@suse.de>

	gcc/
	* config.gcc: Remove need_64bit_hwint.
	* configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
	* hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
	it to be true.
	* config.in: Regenerate.
	* configure: Likewise.

	libcpp/
	* configure.ac: Copy gcc logic of detecting a 64bit type.
	Remove HOST_WIDE_INT define.
	* include/cpplib.h: typedef cpp_num_part to a 64bit type,
	similar to how hwint.h does it.
	* config.in: Regenerate.
	* configure: Likewise.

From-SVN: r210632
This commit is contained in:
Richard Biener 2014-05-20 08:01:32 +00:00 committed by Richard Biener
parent 74145685ed
commit 54da09ee20
11 changed files with 138 additions and 119 deletions

View file

@ -819,7 +819,24 @@ extern int cpp_defined (cpp_reader *, const unsigned char *, int);
/* A preprocessing number. Code assumes that any unused high bits of
the double integer are set to zero. */
typedef unsigned HOST_WIDE_INT cpp_num_part;
/* Find a type with at least 64bit precision, mimicking hwint.h.
This type has to be equal to unsigned HOST_WIDE_INT, see
gcc/c-family/c-lex.c. */
#if SIZEOF_LONG >= 8
typedef unsigned long cpp_num_part;
#else
# if SIZEOF_LONG_LONG >= 8
typedef unsigned long long cpp_num_part;
# else
# if SIZEOF___INT64 >= 8
typedef unsigned __int64 cpp_num_part;
# else
#error "This line should be impossible to reach"
# endif
# endif
#endif
typedef struct cpp_num cpp_num;
struct cpp_num
{