Go to file
Mark Mitchell 558475f07c cp-tree.def (STMT_EXPR): New tree node.
* cp-tree.def (STMT_EXPR): New tree node.
	* cp-tree.h (STMT_EXPR_STMT): New macro.
	(store_return_init): Change prototype.
	(finish_named_return_value): New function.
	(expand_stmt): Likewise.
	(expand_body): Likewise.
	(begin_stmt_tree): Likewise.
	(finish_stmt_tree): Likewise.
	(expanding_p): New variable.
	(last_expr_type): Likewise.
	(building_stmt_tree): New macro.
	* decl.c (start_function): Use building_stmt_tree, not
	processing_template_decl, where appropriate.
	(store_parm_decls): Likewise.
	(store_return_init): Move most of the body to semantics.c.
	(finish_function): Use building_stmt_tree.
	(finish_stmt): Clear last_expr_type here.
	(cp_function): Add expanding_p, last_tree, last_expr_type.
	(push_cp_function_context): Save them.
	(pop_cp_function_context): Restore them.
	* decl2.c (setup_vtbl_ptr): Move to semantics.c.
	* error.c (dump_expr): Handle STMT_EXPR.
	* except.c (expand_start_catch_block): Use building_stmt_tree.
	Use add_decl_stmt.
	* expr.c (cplus_expand_expr): Handle STMT_EXPR.
	(do_case): Move add_tree call to semantics.c.
	* parse.y (return_init): Use finish_named_return_value.
	(for.init.statement): Use finish_expr_stmt.
	* parse.c: Regenerated.
	* pt.c (do_pushlevel): Move to semantics.c.
	(do_poplevel): Likewise.
	(tsubst_copy): Handle STMT_EXPR instead of BIND_EXPR.
	(tsubst_expr): Don't expand all the way to RTL here.  Handle
	RETURN_INIT and CTOR_INITIALIZER.
	(instantiate_decl): Call expand_body after tsubst'ing into
	DECL_SAVED_TREE.
	* semantics.c (expand_stmts): New function.
	(expanding_p): New variable.
	(last_expr_type): Likewise.
	(finish_expr_stmt): Use building_stmt_tree.
	(begin_if_stmt): Likewise.
	(finish_if_stmt_cond): Likewise.
	(finish_then_clause): Likewise.
	(begin_else_clause): Likewise.
	(finish_else_clause): Likewise.
	(begin_while_stmt): Likewise.
	(finish_while_stmt_cond): Likewise.
	(finish_while_stmt): Likewise.
	(finish_do_body): Likewise.
	(finish_do_stmt): Likewise.
	(finish_return_stmt): Likewise.
	(begin_for_stmt): Likewise.
	(fnish_for_init_stmt): Likewise.
	(finish_for_cond): Likewise.
	(finish_for_expr): Likewise.
	(finish_for_stmt): Likewise.
	(finish_break_stmt): Likewise.
	(finish_continue_stmt): Likewise.
	(finish_switch_cond): Likewise.
	(finish_switch_stmt): Likewise.
	(finish_case_label): Call add_tree here if necessary.
	(finish_goto_statement): Use building_stmt_tree.
	(begin_try_block): Likewise.
	(begin_function_try_block): Likewise.
	(finish_try_block): Likewise.
	(finish_function_try_block): Likewise.
	(finish_handler_sequence): Likewise.
	(finish_function_handler_sequence): Likewise.
	(begin_handler): Likewise.
	(finish_handler_parms): Likewise.
	(finish_handler): Likewise.
	(begin_compound_stmt): Likewise.
	(finish_compound_stmt): Likewise.
	(finish_asm_stmt): Likewise.
	(finish_label_stmt): Likewise.
	(finish_named_return_value): New function.
	(setup_vtbl_ptr): Moved here from decl2.c.
	(do_pushlevel): Moved here from pt.c.
	(do_poplevel): Likewise.
	(begin_stmt_expr): Use building_stmt_tree.
	(finish_stmt_expr): Likewise.  Build a STMT_EXPR, not a BIND_EXPR,
	when building_stmt_tree.
	(begin_stmt_tree): New function.
	(finish_stmt_tree): Likewise.
	(expand_stmt): Likewise.
	(expand_body): Likewise.
	* tree.c (build_cplus_method_type): Make sure the argument types
	end up on the same obstack as the METHOD_TYPE.
	(search_tree): Handle COMPOUND_EXPR, MODIFY_EXPR,
	THROW_EXPR, STMT_EXPR.
	(mapcar): Break out common cases.  Handle COMPOUND_EXPR,
	MODIFY_EXPR, THROW_EXPR, STMT_EXPR, RTL_EXPR.  Abort, rather than
	sorry, if an unsupported node is encountered.
	* typeck.c (require_complete_type_in_void): Handle BIND_EXPR.
	(c_expand_return): Don't call add_tree here.

From-SVN: r28729
1999-08-16 19:01:36 +00:00
boehm-gc Makefile.in: Rebuilt. 1999-08-10 05:28:31 +00:00
config Resync 1999-04-06 21:36:42 -06:00
contrib gcc_update: New file. 1999-08-16 16:49:21 +00:00
etc * configure.in: Use AC_PREREQ(2.12.1). 1998-11-23 13:51:40 +00:00
gcc cp-tree.def (STMT_EXPR): New tree node. 1999-08-16 19:01:36 +00:00
include * splay-tree.h (splay_tree_insert): Return the new node. 1999-08-02 05:54:50 +00:00
INSTALL More mail address and web address updates. 1999-08-09 00:48:10 -06:00
libchill Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix, libdir, libsubdir and tooldir. 1999-08-06 23:37:16 -06:00
libf2c Daily bump. 1999-08-16 01:45:12 -06:00
libffi Makefile.in: Rebuilt. 1999-08-10 05:29:27 +00:00
libiberty Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix, libdir, libsubdir and tooldir. 1999-08-06 23:37:16 -06:00
libio streambuf.h (ios::streamsize): Declare as _IO_ssize_t, as in the global scope. 1999-08-09 00:07:09 +00:00
libjava configure: Rebuilt. 1999-08-16 17:01:52 +00:00
libobjc Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix, libdir, libsubdir and tooldir. 1999-08-06 23:37:16 -06:00
libstdc++ pthread_alloc: Solaris' ctype.h defines _U to 01; use _Up as template parameter instead. 1999-08-09 00:07:21 +00:00
texinfo acconfig.h (libintl.h): Does not include this file here because it will define `NULL' before the system... 1999-06-01 17:52:42 -06:00
zlib Makefile.in: Rebuilt. 1999-08-10 05:30:10 +00:00
.cvsignore
ChangeLog * config.sub (vxworks case): Use os=-vxworks, not os=vxworks. 1999-08-04 02:07:57 -06:00
config-ml.in config-ml.in: On mips*-*-*... 1999-04-11 17:00:24 -06:00
config.guess Cort Dougan <cort@cs.nmt.edu> 1999-05-30 09:05:07 -07:00
config.if config.if (cxx_interface, [...]): Do not try to set these if the appropriate directories and files to not exist. 1998-10-18 11:37:10 -06:00
config.sub * config.sub (vxworks case): Use os=-vxworks, not os=vxworks. 1999-08-04 02:07:57 -06:00
configure configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07:00
configure.in configure.in (target_libs): Added target-zlib. 1999-06-22 16:46:19 -06:00
COPYING
COPYING.LIB
install-sh Final changes from devo<->egcs merge. 1998-10-12 04:44:57 -06:00
ltconfig * ltconfig, ltmain.sh: Update to libtool 1.2f. 1999-06-21 20:36:09 -06:00
ltmain.sh * ltconfig, ltmain.sh: Update to libtool 1.2f. 1999-06-21 20:36:09 -06:00
MAINTAINERS Fix typo. 1999-08-05 22:51:30 +01:00
Makefile.in configure.in (target_libs): Added target-zlib. 1999-06-22 16:46:19 -06:00
missing missing: Update to version from automake 1.3. 1998-10-08 17:28:38 -06:00
mkinstalldirs
move-if-change FSF address fix in copyright header. 1999-01-11 07:12:18 -07:00
README
symlink-tree
ylwrap ylwrap: Change absolute path checks to check for DOS style path names. 1998-10-08 17:26:54 -06:00

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.


Check the INSTALL directory for detailed configuration and installation
instructions.


Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.