aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2013-08-26 16:52:19 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2013-08-26 17:52:19 +0100
commit0fdd4508af3f61f9e4fd24ff4d99013db3ae82c7 (patch)
treed943423a439ccf6c96a1d0db9311b6c3b5707ecb /gcc/c
parent907555cee37c75c7b82b173b158379d9f4c547a4 (diff)
downloadgcc-0fdd4508af3f61f9e4fd24ff4d99013db3ae82c7.zip
gcc-0fdd4508af3f61f9e4fd24ff4d99013db3ae82c7.tar.gz
gcc-0fdd4508af3f61f9e4fd24ff4d99013db3ae82c7.tar.bz2
re PR c/35649 (Incorrect printf warning: expect double has float)
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. Amend patch as suggested: From: "Joseph S. Myers" <joseph@codesourcery.com> In convert_arguments I think you should be comparing TYPE_MAIN_VARIANT (valtype) against double_type_node and long_double_type_node, rather than just valtype. This is PR c/35649 (so include that number in your ChangeLog entry and close that bug as fixed). Co-Authored-By: Joseph Myers <joseph@codesourcery.com> From-SVN: r202006
Diffstat (limited to 'gcc/c')
-rw-r--r--gcc/c/ChangeLog2
-rw-r--r--gcc/c/c-typeck.c4
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)