diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/c/c-typeck.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 4d32d6d..0d9ff67 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,5 +1,7 @@ 2013-08-26 Joern Rennecke <joern.rennecke@embecosm.com> + Joseph Myers <joseph@codesourcery.com> + c/35649 * c-typeck.c (c_common_type): Prefer double_type_node over other REAL_TYPE types with the same precision. (convert_arguments): Likewise. diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 5daae23..8b3e3d9 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -3164,8 +3164,8 @@ convert_arguments (tree typelist, vec<tree, va_gc> *values, else if (TREE_CODE (valtype) == REAL_TYPE && (TYPE_PRECISION (valtype) <= TYPE_PRECISION (double_type_node)) - && valtype != double_type_node - && valtype != long_double_type_node + && TYPE_MAIN_VARIANT (valtype) != double_type_node + && TYPE_MAIN_VARIANT (valtype) != long_double_type_node && !DECIMAL_FLOAT_MODE_P (TYPE_MODE (valtype))) { if (type_generic) |