aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.soma.redhat.com>2000-06-06 00:15:37 +0000
committerJason Merrill <jason@gcc.gnu.org>2000-06-05 20:15:37 -0400
commita7833bec2c0ac811e6410bb7dbd41c07b7c58c8d (patch)
tree58c1726948217376f8b52442cc2f1011662e5064 /gcc/fold-const.c
parent3ae18eaf85fbb012583730c8312aca6286b6275f (diff)
downloadgcc-a7833bec2c0ac811e6410bb7dbd41c07b7c58c8d.zip
gcc-a7833bec2c0ac811e6410bb7dbd41c07b7c58c8d.tar.gz
gcc-a7833bec2c0ac811e6410bb7dbd41c07b7c58c8d.tar.bz2
fold-const.c (fold, [...]): Elide conversion between cv-qualified versions of types.
* fold-const.c (fold, case COND_EXPR): Elide conversion between cv-qualified versions of types. From-SVN: r34416
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index ca50852..3b759e8 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -6903,6 +6903,10 @@ fold (expr)
tree comp_op1 = TREE_OPERAND (arg0, 1);
tree comp_type = TREE_TYPE (comp_op0);
+ /* Avoid adding NOP_EXPRs in case this is an lvalue. */
+ if (TYPE_MAIN_VARIANT (comp_type) == TYPE_MAIN_VARIANT (type))
+ comp_type = type;
+
switch (comp_code)
{
case EQ_EXPR: