This patch http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01039.html
has void mpfr_from_real (mpfr_ptr m, const REAL_VALUE_TYPE *r) { /* We use a string as an intermediate type. */ char buf[128]; real_to_hexadecimal (buf, r, sizeof (buf), 0, 1); /* mpfr_set_str() parses hexadecimal floats from strings in the same format that GCC will output them. Nothing extra is needed. */ gcc_assert (mpfr_set_str (m, buf, 16, GMP_RNDN) == 0); } It is a very bad idea since mpfr_set_str may only be called when runtime check is enabled. -- Summary: Calling a function with gcc_assert Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29862