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:
parent
74145685ed
commit
54da09ee20
11 changed files with 138 additions and 119 deletions
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue