Go to file
Richard Biener b250514336 re PR middle-end/61762 (failure to optimize memcpy from constant string)
2014-07-25  Richard Biener  <rguenther@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.

From-SVN: r213045
2014-07-25 07:44:57 +00:00
boehm-gc Enable Java on Cygwin-64 2014-05-13 16:23:11 +00:00
config ChangeLog entry moved from config/ChangeLog to gcc/ChangeLog. 2014-07-25 06:23:42 +00:00
contrib mklog: Run mklog as a filter. 2014-07-21 07:45:45 +00:00
fixincludes Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
gcc re PR middle-end/61762 (failure to optimize memcpy from constant string) 2014-07-25 07:44:57 +00:00
gnattools Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify. 2014-02-23 16:30:11 +00:00
include [PR lto/61334] Declare prototype for strnlen, if needed. 2014-06-10 11:45:00 +02:00
INSTALL README: Also refer to the online installation instructions. 2012-08-25 20:48:20 +00:00
intl
libada Update copyright years in libada/ 2014-01-02 22:24:25 +00:00
libatomic configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS. 2014-07-18 08:34:20 +02:00
libbacktrace mmap.c (backtrace_free): If freeing a large aligned block of memory, call munmap rather than holding onto it. 2014-05-09 05:01:08 +00:00
libcilkrts config.gcc (*-*-dragonfly*): New target. 2014-05-21 12:08:58 +01:00
libcpp Support location tracking for built-in macro tokens 2014-07-16 12:33:27 +02:00
libdecnumber re PR c/59871 (No unused value warning for comma expression) 2014-01-23 19:04:29 +00:00
libffi Normalize interface for all *-dg-runtest. 2014-07-04 07:28:17 +02:00
libgcc cygming-crtbegin.c (deregister_frame_fn): Newly public. 2014-07-24 12:41:01 -04:00
libgfortran re PR fortran/61632 (Improve error locus on large format strings) 2014-07-20 20:03:41 +00:00
libgo runtime: remove unused variable 2014-07-20 19:20:12 +00:00
libgomp pr34020.f90: Make compile with TS 18508/Fortran 2015 2014-07-13 08:40:16 +02:00
libiberty Delete temporary string within demangler even in failure cases. 2014-06-11 10:57:27 +00:00
libitm libitm: Improve aarch64 _ITM_beginTransaction 2014-07-24 19:58:06 -07:00
libjava libffi.exp (load_gcc_lib): Register loaded libs. 2014-05-20 08:20:06 +00:00
libobjc Update copyright years in libobjc/ 2014-01-02 22:26:09 +00:00
libquadmath gnat_ugn.texi: Bump @copying's copyright year. 2014-01-02 22:25:41 +01:00
libsanitizer sanitizer_common_interceptors.inc: Cherry pick upstream r211008. 2014-06-23 19:03:07 +00:00
libssp * ssp.c (fail): Avoid -Wformat-security warning. 2013-12-07 09:10:02 +01:00
libstdc++-v3 baseline_symbols.txt: Update. 2014-07-25 08:47:47 +02:00
libvtv Fix up ChangeLog entries (name, e-mail, formatting, otherwise). 2013-10-23 21:30:54 +00:00
lto-plugin Allow overriding the libiberty used for building the LTO plugin. 2014-06-13 16:30:46 +02:00
maintainer-scripts crontab: Remove 4.7 snapshot entry. 2014-06-12 11:57:33 +00:00
zlib Add --enable-host-shared configuration option 2013-10-15 20:33:55 +00:00
.dir-locals.el * .dir-locals.el: Add. 2013-10-16 18:25:31 +00:00
.gitignore Ignore gcc_update output 2014-06-18 17:47:18 -07:00
ABOUT-NLS
ChangeLog * MAINTAINERS (Write After Approval): Add myself. 2014-07-24 12:52:18 +00:00
ChangeLog.tree-ssa
compile
config-ml.in * config-ml.in: Robustify ac_configure_args parsing. 2014-06-13 16:32:29 +02:00
config.guess * config.sub, config.guess: Import from upstream. 2014-05-01 20:51:11 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub * config.sub, config.guess: Import from upstream. 2014-05-01 20:51:11 +00:00
configure configure.ac: Accept only CLooG 0.18.1. 2014-07-20 13:31:41 +00:00
configure.ac configure.ac: Accept only CLooG 0.18.1. 2014-07-20 13:31:41 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:23:28 +02:00
libtool.m4 libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match. 2013-09-20 19:17:52 +09:30
lt~obsolete.m4
ltgcc.m4
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788) 2014-02-04 09:31:38 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS * MAINTAINERS (Write After Approval): Add myself. 2014-07-24 12:52:18 +00:00
Makefile.def Non-host system configuration for linker plugins. 2014-06-13 16:32:16 +02:00
Makefile.in Non-host system configuration for linker plugins. 2014-06-13 16:32:16 +02:00
Makefile.tpl Allow for overriding a module's srcdir. 2014-06-13 16:32:03 +02:00
missing
mkdep
mkinstalldirs
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:48:30 +00:00
README * README: Document use of ranges of years in copyright notices. 2012-07-16 15:01:34 +01:00
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.