Go to file
Roger Sayle d211a298ce re PR c++/7503 ((x < Y ? X : Y) used for assignment causes wrong code)
PR c++/7503
	* tree.c (lvalue_p_1):  Disallow MIN_EXPR and MAX_EXPR as lvalues
	if either operand has side-effects.
	* typeck.c (rationalize_conditional_expr): Assert that neither
	operand of MIN_EXPR or MAX_EXPR has side-effects.
	(build_modify_expr):  Add support for MIN_EXPR and MAX_EXPR.
	Check that the "lhs" is a valid lvalue, i.e. that neither operand
	of a MIN_EXPR or MAX_EXPR has a side-effect.

	* g++.dg/opt/pr7503-1.C: New testcase for COND_EXPR lvalues.
	* g++.dg/opt/pr7503-2.C: New testcase for <? and >? lvalues.
	* g++.dg/opt/pr7503-3.C: New testcase for invalid <? lvalue errors.
	* g++.dg/opt/pr7503-4.C: New testcase for <?= and >?= assignments.
	* g++.dg/opt/pr7503-5.C: New testcase for side-effects with <?=.

From-SVN: r87810
2004-09-21 16:20:12 +00:00
boehm-gc backgraph.c, gc_priv.h (GC_traverse_back_graph, [...]): split GC_traverse_back_graph. 2004-08-28 00:41:41 +00:00
config mh-x86omitfp: New host makefile fragment. 2004-09-20 00:58:42 +00:00
contrib Made fixincludes a toplevel build module. 2004-08-31 09:27:00 +00:00
fastjar re PR bootstrap/16164 (automake 1.8.5 upgrade changed fastjar into a read-write source directory) 2004-08-11 00:56:23 +00:00
fixincludes inclhack.def (linux_ia64_ucontext): New fix. 2004-09-17 22:58:40 +00:00
gcc re PR c++/7503 ((x < Y ? X : Y) used for assignment causes wrong code) 2004-09-21 16:20:12 +00:00
include Spacing bug. 2004-09-13 21:14:58 -04:00
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
intl Makefile.in (top_builddir): Define to . 2004-05-25 20:16:56 +00:00
libada * Makefile.in: Add .NOEXPORT. 2004-05-25 19:37:02 +00:00
libcpp * charset.c (_cpp_destroy_iconv, emit_numeric_escape) 2004-09-18 00:56:19 +00:00
libffi re PR libffi/17465 (Testsuite in libffi overrides LD_LIBRARY_PATH) 2004-09-14 14:16:29 -07:00
libgfortran libgfortran.h: define gfc_alloca() 2004-09-21 14:38:34 +02:00
libiberty * vasprintf.c: Accept __va_copy in addition to va_copy. 2004-09-08 21:29:42 +00:00
libjava 2004-09-21 Casey Marshall <csm@gnu.org> 2004-09-21 17:30:20 +02:00
libmudflap attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c. 2004-09-15 21:48:10 +01:00
libobjc encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro. 2004-09-16 01:35:01 -07:00
libstdc++-v3 PR libstdc++/12882 (cont) 2004-09-21 09:06:08 +00:00
maintainer-scripts * crontab: Rename GCC 3.5 snapshots to GCC 4.0 snapshots. 2004-09-11 18:53:55 +00:00
zlib configure.ac: New name of configure.in. 2004-06-15 14:47:55 +00:00
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
ABOUT-NLS intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
ChangeLog mh-x86omitfp: New host makefile fragment. 2004-09-20 00:58:42 +00:00
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
compile compile: New file imported from automake. 2004-03-21 18:38:56 +00:00
config-ml.in config-ml.in: Pass FFLAGS and ADAFLAGS for multilibs, handle F77 like CC. 2004-05-30 23:54:22 +02:00
config.guess config.sub: Import latest version from master repository. 2004-09-06 08:52:57 +00:00
config.if * config.if: Remove unused libc_interface determination. 2003-07-16 06:34:53 +00:00
config.rpath intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
config.sub config.sub: Import latest version from master repository. 2004-09-06 08:52:57 +00:00
configure mh-x86omitfp: New host makefile fragment. 2004-09-20 00:58:42 +00:00
configure.in mh-x86omitfp: New host makefile fragment. 2004-09-20 00:58:42 +00:00
COPYING
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
depcomp Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
install-sh re PR bootstrap/11932 (Parallel bootstrap failure with sparc libiberty multilib) 2004-02-20 02:01:16 +00:00
libtool.m4 re PR bootstrap/15120 ([3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' is referenced by DSO) 2004-05-18 10:11:38 +00:00
ltcf-c.sh Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltcf-cxx.sh Index: ChangeLog 2004-08-03 00:52:18 +00:00
ltcf-gcj.sh Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltconfig Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltmain.sh ltmain.sh: Use $pic_object as $non_pic_object if $non_pic_object=none. 2004-09-08 11:43:46 -04:00
MAINTAINERS * MAINTAINERS: Add self as c++ and type-safe vector maintainer. 2004-09-10 11:58:00 +00:00
Makefile.def Makefile.def: Remove libbanshee. 2004-09-09 20:53:41 +00:00
Makefile.in Makefile.def: Remove libbanshee. 2004-09-09 20:53:41 +00:00
Makefile.tpl Makefile.def: Remove libbanshee. 2004-09-09 20:53:41 +00:00
missing missing: Import latest version from master repository. 2004-09-07 08:33:10 +00:00
mkdep
mkinstalldirs re PR bootstrap/11932 (Parallel bootstrap failure with sparc libiberty multilib) 2004-02-20 02:01:16 +00:00
move-if-change
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
README.SCO * README.SCO: New file. 2003-08-03 14:51:42 +00:00
symlink-tree * config-ml.in, symlink-tree: Add license. 2003-08-14 16:44:23 -04:00
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file 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.html for how to report bugs usefully.