Go to file
Joseph Myers 16ef3accae re PR c++/772 (Statement expressions issues)
PR c/772
	PR c/17913
	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
	C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
	c_label_context, label_context_stack): New.
	* c-decl.c (define_label): Check for jumps into statement
	expressions.  Add label to list of defined labels.
	(start_function): Push context on label_context_stack.
	(finish_function): Pop context from label_context_stack.
	* c-typeck.c (label_context_stack): New.
	(c_finish_goto_label): Check for jumps into statement
	expressions.  Add label to list of jumped to labels.
	(struct c_switch): Add blocked_stmt_expr.
	(c_start_case): Initialize it.
	(do_case): Check it.
	(c_finish_case): Verify !blocked_stmt_expr.
	(c_begin_stmt_expr):  Push context on label_context_stack.
	Increment blocked_stmt_expr.  Mark labels jumped to from outside
	as undefinable.
	(c_finish_stmt_expr): December blocked_stmt_expr.  Mark labels
	defined in the statement expression and no longer jumpable to.
	Mark labels jumped to from just outside the statement expression
	as again definable.  Pop context from label_context_stack.
	* doc/extend.texi (Statement Exprs): Update.

objc:
	* objc-act.c (objc_start_function): Push context on
	label_context_stack.

testsuite:
	* gcc.dg/stmt-expr-label-1.c, gcc.dg/stmt-expr-label-2.c,
	gcc.dg/stmt-expr-label-3.c : New tests.
	* gcc.c-torture/execute/medce-2.c: Remove.

From-SVN: r97273
2005-03-30 20:56:39 +01:00
INSTALL
boehm-gc darwin_stop_world.c: Update for -m64 multilib. 2005-03-24 00:48:39 +00:00
config (See http://gcc.gnu.org/ml/gcc/2004-12/msg00319.html for discussion.) 2005-03-30 13:25:24 +01:00
contrib * gcc_update (silent): Unset instead of initializing to null. 2005-03-19 00:16:22 +00:00
fastjar jartool.c (main): Indentation fixlet. 2005-03-28 18:14:00 +00:00
fixincludes Makefile.in: Set gcc_version directly, not via substitution. 2005-03-21 17:50:19 +00:00
gcc re PR c++/772 (Statement expressions issues) 2005-03-30 20:56:39 +01:00
gnattools re PR ada/19959 (Can't compile gnattools for the cross targets) 2005-03-30 10:56:55 +02:00
include * libiberty.h: Fix indentation. 2005-03-29 18:35:07 +00:00
intl aclocal.m4: Regenerate. 2004-11-24 21:53:28 +00:00
libada re PR bootstrap/17383 (Building in src dir fails) 2005-02-28 13:26:36 +00:00
libcpp * de.po: Update. 2005-03-29 22:13:11 +01:00
libffi darwin.S: Update for -m64 multilib. 2005-03-24 00:45:38 +00:00
libgfortran re PR libfortran/20163 ([4.0 only] gfortran - error opening direct access file) 2005-03-29 08:37:32 +00:00
libiberty pex-common.c: New file. 2005-03-29 02:08:46 +00:00
libjava natRuntime.cc (insertSystemProperties): Set gnu.gcj.runtime.endorsed.dirs. 2005-03-29 22:54:04 +00:00
libmudflap mf-heuristics.c: Fix whitespace at end of line. 2005-03-22 02:14:33 +00:00
libobjc Makefile.in: Set gcc_version here. 2005-03-21 17:42:26 +00:00
libstdc++-v3 libstdc++.exp (libstdc++_init): Define LOCALEDIR when testing an installed compiler. 2005-03-25 23:24:57 +00:00
maintainer-scripts gcc-version.m4: Delete. 2005-03-16 06:04:10 +00:00
zlib Revert bad import 2005-02-02 22:09:16 +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
COPYING
COPYING.LIB
ChangeLog (See http://gcc.gnu.org/ml/gcc/2004-12/msg00319.html for discussion.) 2005-03-30 13:25:24 +01:00
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
MAINTAINERS MAINTAINERS (Various Maintainers): Remove self. 2005-03-30 00:19:54 +00:00
Makefile.def Makefile.def (bfd, [...]): Set lib_path. 2005-03-30 08:18:08 +00:00
Makefile.in Makefile.def (bfd, [...]): Set lib_path. 2005-03-30 08:18:08 +00:00
Makefile.tpl Makefile.def (bfd, [...]): Set lib_path. 2005-03-30 08:18:08 +00:00
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
README.SCO * README.SCO: Update per FSF instructions. 2004-11-01 02:19:48 +00:00
compile install-sh, compile: Import from automake. 2004-11-16 01:04:30 +00:00
config-ml.in re PR bootstrap/18033 (--disable-aix64 doesn't remove ppc64 from multilib list) 2005-01-12 19:47:56 -05:00
config.guess config.guess, config.sub: Import from savannnah. 2004-11-16 00:57:01 +00:00
config.rpath intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
config.sub install-sh, config.sub: Import from upstream. 2005-01-18 01:20:48 +00:00
configure (See http://gcc.gnu.org/ml/gcc/2004-12/msg00319.html for discussion.) 2005-03-30 13:25:24 +01:00
configure.in (See http://gcc.gnu.org/ml/gcc/2004-12/msg00319.html for discussion.) 2005-03-30 13:25:24 +01:00
depcomp config.guess: New upstream version 2004-09-23 01:21:50 +00:00
install-sh install-sh, config.sub: Import from upstream. 2005-01-18 01:20:48 +00:00
libtool.m4 libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Re-import linux-gnu case from CVS libtool to always pass_all. 2004-11-29 23:45:23 +00:00
ltcf-c.sh ltcf-c.sh (tpf*): Add ld_shlibs=yes. 2004-10-02 16:33:06 +00:00
ltcf-cxx.sh ltcf-c.sh (tpf*): Add ld_shlibs=yes. 2004-10-02 16:33:06 +00:00
ltcf-gcj.sh Patch from Robert Millan. 2004-04-26 23:14:30 -07:00
ltconfig ltcf-c.sh (tpf*): Add ld_shlibs=yes. 2004-10-02 16:33:06 +00:00
ltmain.sh re PR libgcj/20160 (link errors building libgcj tests) 2005-03-01 22:27:43 +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
symlink-tree * config-ml.in, symlink-tree: Add license. 2003-08-14 16:44:23 -04:00
ylwrap * Revert to previous version due to Binutils breakage. 2004-09-24 11:14:51 +00:00

README

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.