aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tccgen.c b/tccgen.c
index 2885f3e..304225e 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -2829,8 +2829,7 @@ static void gen_assign_cast(CType *dt)
}
}
/* check const and volatile */
- if ((!(type1->t & VT_CONSTANT) && (type2->t & VT_CONSTANT) &&
- ((type2->t & VT_BTYPE) != VT_BYTE || tcc_state->warn_write_strings)) ||
+ if ((!(type1->t & VT_CONSTANT) && (type2->t & VT_CONSTANT)) ||
(!(type1->t & VT_VOLATILE) && (type2->t & VT_VOLATILE)))
tcc_warning("assignment discards qualifiers from pointer target type");
break;
@@ -4382,7 +4381,8 @@ ST_FUNC void unary(void)
/* string parsing */
t = VT_BYTE;
str_init:
- t |= VT_CONSTANT;
+ if (tcc_state->warn_write_strings)
+ t |= VT_CONSTANT;
type.t = t;
mk_pointer(&type);
type.t |= VT_ARRAY;