https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61762
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Fri Jul 25 07:44:57 2014 New Revision: 213045 URL: https://gcc.gnu.org/viewcvs?rev=213045&root=gcc&view=rev Log: 2014-07-25 Richard Biener <rguent...@suse.de> PR middle-end/61762 PR middle-end/61894 * fold-const.c (native_encode_int): Add and handle offset parameter to do partial encodings of expr. (native_encode_fixed): Likewise. (native_encode_real): Likewise. (native_encode_complex): Likewise. (native_encode_vector): Likewise. (native_encode_string): Likewise. (native_encode_expr): Likewise. * fold-const.c (native_encode_expr): Add offset parameter defaulting to -1. * gimple-fold.c (fold_string_cst_ctor_reference): Remove. (fold_ctor_reference): Handle all reads from tcc_constant ctors. * gcc.dg/pr61762.c: New testcase. * gcc.dg/fold-cstring.c: Likewise. * gcc.dg/fold-cvect.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/fold-cstring.c trunk/gcc/testsuite/gcc.dg/fold-cvect.c trunk/gcc/testsuite/gcc.dg/pr61762.c Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/fold-const.h trunk/gcc/gimple-fold.c trunk/gcc/testsuite/ChangeLog