PR c/11250
commit3ad5f027d89dd828eff822371e1791f520d83c41
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jul 2004 23:46:20 +0000 (21 23:46 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jul 2004 23:46:20 +0000 (21 23:46 +0000)
tree3445b1b5b70b8f6f28f797b70463fa6e393fa8e1
parente2e173ac79124b41dd69b8f1323782aee89ac789
PR c/11250
* c-parse.in (init): Change to exprtype.
(primary): Set original_code for STRING to STRING_CST.
Call maybe_warn_string_init for compound literals.
(initdcl, notype_initdcl): Call maybe_warn_string_init.
(initval): Update.
* c-tree.h (maybe_warn_string_init): New.
(pop_init_level, process_init_element): Use struct c_expr.
(struct c_expr): Update comment.
* c-typeck.c (maybe_warn_string_init): New function.
(digest_init): Call it.  Additional parameter strict_string.  All
callers changed.
(output_init_element): Likewise.
(struct constructor_stack): Use struct c_expr for
replacement_value.
(really_start_incremental_init, push_init_level): Update.
(pop_init_level): Update.  Return struct c_expr.
(process_init_level): Update.  Take struct c_expr argument.

testsuite:
* gcc.dg/init-string-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85022 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-parse.in
gcc/c-tree.h
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/init-string-1.c [new file with mode: 0644]