Go to file
Mark Mitchell 9bfadf57a2 Remove support for assigning to `this'.
* NEWS: Note that fact.
	* class.c (build_vbase_path): Don't check flag_this_is_variable.
	* cp-tree.h (EXPR_STMT_ASSIGNS_THIS): Remove.
	(language_function): Remove assigns_this, just_assigned_this, and
	x_base_init_expr.  Add x_vcalls_possible_p.  Add vtbls_set_up_p.
	(base_init_expr): Remove.
	(current_vcalls_possible_p): New macro.
	(vtbls_set_up_p): Likewise.
	(emit_base_init): Change prototype.
	* decl.c (finish_destructor_body): New function, split out from
	finish_function.
	(current_function_assigns_this): Remove.
	(current_function_just_assigned_this): Likewise.
	(start_function): Don't set them.
	(finish_function): Don't check them.  Don't emit
	base-initialization code here.  Generate code for destructors when
	doing semantic analysis.
	(finish_stmt): Don't check current_function_just_assigned_this.
	* decl2.c (lang_f_options): Remove this-is-variable.
	(lang_decode_option): Likewise.
	(grokclassfn): Don't check flag_this_is_variable.
	* init.c (emit_base_init): Return the expression generated.
	(construct_virtual_bases): Don't push/pop obstacks.  Fix
	typo.
	(build_new_1): Don't check flag_this_is_variable.
	(get_temp_regvar): Don't set DECL_REGISTER.
	(build_vec_init): Don't call use_variable.
	* lang-options.h: Remove "-fthis-is-variable" and
	"-fno-this-is-variable".
	* pt.c (tsubst_expr): Don't check EXPR_STMT_ASSIGNS_THIS.
	* search.c (expand_upcast_fixups): Use finish_expr_stmt, not
	expand_expr_stmt.
	* semantics.c (finish_expr_stmt_real): Rename to ...
	(finish_expr_stmt): This.  Remove assigned_this parameter.
	(begin_if_stmt): Call do_pushlevel before starting the statement.
	(begin_compound_stmt): Don't declare __FUNCTION__ in scope-less
	blocks.
	(setup_vtbl_ptr): Emit initialization code for bases and members
	at semantic-analysis time.  Emit code to initialize vtables in
	destructors here.
	(expand_stmt): Use finish_expr_stmt, not finish_expr_stmt_real.
	Don't handle CTOR_INITIALIZER any more.
	* typeck.c (build_modify_expr): Don't check for assignments to
	this.
	(c_expand_return): Don't suggest assigning to `this'.

	* Makefile.in (decl.o): Depend on RTL_H.
	(decl2.o): Likewise.
	(class.o): Likewise.
	(call.o): Likewise.
	(method.o): Likewise.
	(search.o): Likewise.
	(tree.o): Likewise.
	(pt.o): Likewise.

	* decl.c (duplicate_decls): When a builtin function is redeclared
	as static, make sure it is mangled correctly.

	* ir.texi (CTOR_INITIALIZER): Remove mention.  Fix typo.  Add
	detail about the statement-tree.

From-SVN: r29531
1999-09-20 20:19:04 +00:00
boehm-gc
config * mh-openedition: New file. 1999-09-07 23:31:40 -07:00
contrib New shell scripts to ease dealing with Netlib f2c vis-a-vis g77 libg2c 1999-09-11 17:53:17 -04:00
etc
gcc Remove support for assigning to `this'. 1999-09-20 20:19:04 +00:00
include libiberty.h (basename): OpenBSD has a correct prototype. 1999-09-14 00:35:01 -06:00
INSTALL
libchill powerset.h (SET_WORD, [...]): Do not redefine based on USE_CHAR. 1999-09-02 17:55:52 -06:00
libf2c Daily bump. 1999-09-20 01:45:08 -06:00
libffi ffi.h.in: Removed PACKAGE and VERSION defines and undefs. 1999-09-01 23:16:34 +00:00
libiberty * xmemdup.c: Include sys/types.h. 1999-09-09 00:11:39 +00:00
libio * config/mpeix.mt: New for MPEiX port. 1999-09-13 06:30:08 -06:00
libjava configure: Rebuilt. 1999-09-20 20:09:42 +00:00
libobjc Merge in gcc2-ss-010999 1999-09-06 23:49:18 -06:00
libstdc++ 1999-09017 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> 1999-09-17 15:19:20 +00:00
texinfo dummy checkin to prevent merge lossage 1999-09-04 09:09:22 -06:00
zlib
.cvsignore
ChangeLog config.guess: Add OS/390 match pattern. 1999-09-07 23:35:42 -07:00
config-ml.in config-ml.in: Pass compiler flag corresponding to multidirs to subdir configures. 1999-08-25 01:14:07 -06:00
config.guess config.guess: Add OS/390 match pattern. 1999-09-07 23:35:42 -07:00
config.if
config.sub config.guess: Add OS/390 match pattern. 1999-09-07 23:35:42 -07:00
configure
configure.in config.guess: Add OS/390 match pattern. 1999-09-07 23:35:42 -07:00
COPYING
COPYING.LIB
install-sh
ltconfig
ltmain.sh
MAINTAINERS Add Mark to list of folks with blanket write privs. 1999-09-06 02:55:50 -06:00
Makefile.in
missing
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

		   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.