From 8848828bec1487a10d8153a586e7ca3df1aac7ad Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 29 Apr 2015 10:25:11 +0200 Subject: [PATCH] c-common.h (omp_clause_mask): Unconditionally define as a class. * c-common.h (omp_clause_mask): Unconditionally define as a class. Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of HOST_BITS_PER_WIDE_INT. From-SVN: r222561 --- gcc/c-family/ChangeLog | 6 ++++++ gcc/c-family/c-common.h | 33 ++++++++++++--------------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 217aafb2df5..8d10487d96c 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2015-04-29 Jakub Jelinek + + * c-common.h (omp_clause_mask): Unconditionally define as a class. + Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of + HOST_BITS_PER_WIDE_INT. + 2015-04-28 Tom de Vries PR tree-optimization/65887 diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index cabf452ca12..603d3f0d0b6 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -1096,16 +1096,11 @@ extern void pp_dir_change (cpp_reader *, const char *); extern bool check_missing_format_attribute (tree, tree); /* In c-omp.c */ -#if HOST_BITS_PER_WIDE_INT >= 64 -typedef unsigned HOST_WIDE_INT omp_clause_mask; -# define OMP_CLAUSE_MASK_1 ((omp_clause_mask) 1) -#else struct omp_clause_mask { inline omp_clause_mask (); - inline omp_clause_mask (unsigned HOST_WIDE_INT l); - inline omp_clause_mask (unsigned HOST_WIDE_INT l, - unsigned HOST_WIDE_INT h); + inline omp_clause_mask (uint64_t l); + inline omp_clause_mask (uint64_t l, uint64_t h); inline omp_clause_mask &operator &= (omp_clause_mask); inline omp_clause_mask &operator |= (omp_clause_mask); inline omp_clause_mask operator ~ () const; @@ -1115,7 +1110,7 @@ struct omp_clause_mask inline omp_clause_mask operator << (int); inline bool operator == (omp_clause_mask) const; inline bool operator != (omp_clause_mask) const; - unsigned HOST_WIDE_INT low, high; + uint64_t low, high; }; inline @@ -1124,14 +1119,13 @@ omp_clause_mask::omp_clause_mask () } inline -omp_clause_mask::omp_clause_mask (unsigned HOST_WIDE_INT l) +omp_clause_mask::omp_clause_mask (uint64_t l) : low (l), high (0) { } inline -omp_clause_mask::omp_clause_mask (unsigned HOST_WIDE_INT l, - unsigned HOST_WIDE_INT h) +omp_clause_mask::omp_clause_mask (uint64_t l, uint64_t h) : low (l), high (h) { } @@ -1177,18 +1171,17 @@ inline omp_clause_mask omp_clause_mask::operator << (int amount) { omp_clause_mask ret; - if (amount >= HOST_BITS_PER_WIDE_INT) + if (amount >= 64) { ret.low = 0; - ret.high = low << (amount - HOST_BITS_PER_WIDE_INT); + ret.high = low << (amount - 64); } else if (amount == 0) ret = *this; else { ret.low = low << amount; - ret.high = (low >> (HOST_BITS_PER_WIDE_INT - amount)) - | (high << amount); + ret.high = (low >> (64 - amount)) | (high << amount); } return ret; } @@ -1197,17 +1190,16 @@ inline omp_clause_mask omp_clause_mask::operator >> (int amount) { omp_clause_mask ret; - if (amount >= HOST_BITS_PER_WIDE_INT) + if (amount >= 64) { - ret.low = high >> (amount - HOST_BITS_PER_WIDE_INT); + ret.low = high >> (amount - 64); ret.high = 0; } else if (amount == 0) ret = *this; else { - ret.low = (high << (HOST_BITS_PER_WIDE_INT - amount)) - | (low >> amount); + ret.low = (high << (64 - amount)) | (low >> amount); ret.high = high >> amount; } return ret; @@ -1225,8 +1217,7 @@ omp_clause_mask::operator != (omp_clause_mask b) const return low != b.low || high != b.high; } -# define OMP_CLAUSE_MASK_1 omp_clause_mask (1) -#endif +#define OMP_CLAUSE_MASK_1 omp_clause_mask (1) enum c_omp_clause_split { -- 2.30.2