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;
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
}
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)
{
}
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;
}
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;
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
{