diff options
Diffstat (limited to 'gcc/sbitmap.c')
-rw-r--r-- | gcc/sbitmap.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/sbitmap.c b/gcc/sbitmap.c index d606736c4c7..a67f1028e01 100644 --- a/gcc/sbitmap.c +++ b/gcc/sbitmap.c @@ -23,10 +23,16 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "sbitmap.h" +/* This suffices for roughly 99% of the hosts we run on, and the rest + don't have 256 bit integers. */ +#if SBITMAP_ELT_BITS > 255 +#error Need to increase size of datatype used for popcount +#endif + #if GCC_VERSION >= 3400 -# if HOST_BITS_PER_WIDEST_FAST_INT == HOST_BITS_PER_LONG +# if SBITMAP_ELT_BITS == HOST_BITS_PER_LONG # define do_popcount(x) __builtin_popcountl(x) -# elif HOST_BITS_PER_WIDEST_FAST_INT == HOST_BITS_PER_LONGLONG +# elif SBITMAP_ELT_BITS == HOST_BITS_PER_LONGLONG # define do_popcount(x) __builtin_popcountll(x) # else # error "internal error: sbitmap.h and hwint.h are inconsistent" |