From 005b8fe7ddc5de0e67eb48ca2b76058fa638ab28 Mon Sep 17 00:00:00 2001 From: ppalka Date: Tue, 19 Aug 2014 14:14:15 +0000 Subject: 2014-08-19 Patrick Palka PR c/45584 * c-typeck.c (build_c_cast): Do a conversion even when the TYPE_MAIN_VARIANTs are the same. 2014-08-19 Patrick Palka PR c/45584 * gcc.dg/pr13519-1.c: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214151 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/c/ChangeLog | 6 ++++++ gcc/c/c-typeck.c | 3 +++ gcc/testsuite/ChangeLog | 7 ++++++- gcc/testsuite/gcc.dg/pr13519-1.c | 6 +++--- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 27f865eb29f..391cfeda95e 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2014-08-19 Patrick Palka + + PR c/45584 + * c-typeck.c (build_c_cast): Do a conversion even when the + TYPE_MAIN_VARIANTs are the same. + 2014-08-19 Marek Polacek * c-decl.c (diagnose_mismatched_decls): Unconditionally call diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index b1eac3462a5..3210f1ab4f7 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -4947,6 +4947,9 @@ build_c_cast (location_t loc, tree type, tree expr) || TREE_CODE (type) == UNION_TYPE) pedwarn (loc, OPT_Wpedantic, "ISO C forbids casting nonscalar to the same type"); + + /* Convert to remove any qualifiers from VALUE's type. */ + value = convert (type, value); } else if (TREE_CODE (type) == UNION_TYPE) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5433c91a889..a783217fe7d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-08-19 Patrick Palka + + PR c/45584 + * gcc.dg/pr13519-1.c: Adjust. + 2014-08-19 Mark Wielaard * gcc.dg/guality/const-volatile.c: Add `used' attribute to pi. @@ -7,7 +12,7 @@ PR debug/59051 * gcc.dg/guality/restrict.c: New test. -2014-07-03 Mark Wielaard +2014-08-19 Mark Wielaard * lib/gcc-gdb-test.exp (gdb-test): Handle type:var for gdb ptype matching. Catch '