+2017-03-02 Richard Biener <rguenther@suse.de>
+
+ * wide-int.h (wide_int_storage::operator=): Implement in terms
+ of wi::copy.
+
2017-03-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/79777
HOST_WIDE_INT *write_val ();
void set_len (unsigned int, bool = false);
+ template <typename T>
+ wide_int_storage &operator = (const T &);
+
static wide_int from (const wide_int_ref &, unsigned int, signop);
static wide_int from_array (const HOST_WIDE_INT *, unsigned int,
unsigned int, bool = true);
wi::copy (*this, xi);
}
+template <typename T>
+inline wide_int_storage&
+wide_int_storage::operator = (const T &x)
+{
+ { STATIC_ASSERT (!wi::int_traits<T>::host_dependent_precision); }
+ { STATIC_ASSERT (wi::int_traits<T>::precision_type != wi::CONST_PRECISION); }
+ WIDE_INT_REF_FOR (T) xi (x);
+ precision = xi.precision;
+ wi::copy (*this, xi);
+ return *this;
+}
+
inline unsigned int
wide_int_storage::get_precision () const
{