Go to file
Mark Mitchell 8f0327178b tinfo.h (__class_type_info): Fix illegal declaration.
1999-04-02  Mark Mitchell  <mark@codesourcery.com>
	* tinfo.h (__class_type_info): Fix illegal declaration.
	* cp-tree.def (TEMPLATE_ID_EXPR): Update comment.
	* cp-tree.h (INHERITED_VALUE_BINDING_P): New macro.
	(IDENTIFIER_CLASS_VALUE): Improve documentation.
	(is_properly_derived_from): Declare.
	(invalidate_class_lookup_cache): Likewise.
	(maybe_maybe_note_name_used_in_class): Likewise.
	(note_name_declared_in_class): Likewise.
	(push_using_decl): Remove duplicate declaration.
	(id_in_current_class): Remove declaration.
	(push_class_binding): Change prototype.
	(clear_identitifer_class_values): Declare.
	* call.c (is_properly_derived_from): Make it global.
	(build_new_function_call): Be careful about updating candidates.
	(build_new_method_call): Handle COMPONENT_REFs.  Don't crash when
	asked to make illegal calls.
	* class.c: Include splay-tree.h.
	(class_stack_node): Add names_used slot.
	(check_member_decl_is_same_in_complete_scope): Remove.
	(add_method): Fix comment.  Push the declaration into class
	scope.
	(finish_struct_1): When popping the class, pop the bindings too.
	Remove check for data member/function member conflict.
	(finish_struct): Remove calls to
	check_member_decl_is_same_in_complete_scope.  Change calls to
	popclass.
	(pushclass): Clear names_used in the class stack entry.
	Use invalidate_class_lookup_cache to remove cached entries, rather
	than magic values with popclass.  Clear IDENTIFIER_CLASS_VALUE
	before entering a new class.  Remove dead code.  Don't mess with
	current_function_decl when pushing declarations.
	(invalidate_class_lookup_cache): New function, split out from ...
	(popclass): Here.  Clean up names_used on our way out.
	(instantiate_type): Adjust.
	(build_self_reference): Don't push the declaration here.
	(maybe_note_name_used_in_class): New function.
	(note_name_declared_in_class): Likewise.
	* decl.c (add_binding): Change prototype.
	(find_class_binding_level): New function.
	(innermost_nonclass_level): Likewise.
	(current_binding_level): Update documentation.
	(inner_binding_level): Remove.  Replace with current_binding_level
	throughout.
	(push_binding_level): Remove special handling of
	class_binding_level.
	(pop_binding_level): Likewise.  Use find_class_binding_level.
	(suspend_binding_level): Likewise.
	(global_bindings_p): Use innermost_nonclass_level.
	(toplevel_bindings_p): Likewise.
	(namespace_bindings_p): Likewise.
	(pseudo_global_level_p): Likewise.
	(push_binding): Clear INHERITED_VALUE_BINDING_P.
	(add_binding): Check for illegal multiple declarations.  Return a
	value indicating whether or not the new binding was legal.
	(push_local_binding): Skip over class binding levels.  Check
	return value from add_binding.
	(push_class_binding): Set INHERITED_VALUE_BINDING_P.  Call
	note_name_declared_in_class.
	(pushlevel_class): Remove "fake out the rest of the compiler"
	code.
	(poplevel_class): Reset IDENTIFIER_CLASS_VALUEs.
	(clear_identifier_class_values): New function.
	(pop_from_top_level): Use it.
	(pop_everything): Tweak.
	(maybe_process_template_type_declaration): Don't push the
	declaration for the template here.
	(pushtag): Don't push tag declarations into class scope here.
	(pushdecl): Apply DeMorgan's law for readability.
	(pushdecl_class_level): Remove special-case code for
	TYPE_BEING_DEFINED.  Handle OVERLOADs and anonymous unions.
	(push_class_level_bindng): Deal with inherited bindings.
	(lookup_name_real): Remove special-case code for
	TYPE_BEING_DEFINED, and some implicit typename magic.
	(grokdeclarator): Handle COMPONENT_REF for a template function.
	(build_enumerator): Don't call pushdecl_class_level here.
	(id_in_current_class): Remove.
	* decl2.c (grokfield): Don't call pushdecl_class_level or
	check_template_shadow.
	* errfn.c (cp_file_of): Don't declare.
	(cp_line_of): Likewise.
	* error.c (dump_decl): Handle an OVERLOAD.
	(cp_file_of): Likewise.
	(cp_line_of): Likewise.
	* init.c (build_member_call): Handle a COMPONENT_REF.
	* lex.c (do_identifier): Call maybe_note_name_used_in_class, not
	pushdecl_class_level.
	* method.c (hack_identifier): Build COMPONENT_REFs for references
	to member templates as well as member functions.  Remove dead
	code.
	* parse.y (left_curly): Remove.
	(nonnested_type): Call maybe_note_name_used_in_class, not
	pushdecl_class_level.
	* parse.c: Regenerated.
	(nested_name_specifier_1): Likewise.
	* pt.c (check_explicit_specialization): Adjust, for robustness.
	(check_template_shadow): Handle OVERLOADs.
	(build_template_decl): Set DECL_CONSTRUCTOR_P on the
	TEMPLATE_DECL, if appropriate.
	* search.c (envelope_add_decl): Remove.
	(dfs_pushdecls): Likewise.
	(dfs_compress_decls): Likewise.
	(dfs_push_decls): New function.
	(dfs_push_type_decls): Likewise.
	(setup_class_bindings): Likewise.
	(template_self_reference_p): Likewise.
	(lookup_field_r): Use it.
	(looup_member): Remove old comment.  Deal with ambiguity.
	(push_class_decls): Use dfs_push_decls and dfs_push_type_decls,
	and remove envelope processing.
	* semantics.c (begin_class_definition): Let pushclass push
	declarations for base classes.
	(finish_member_declaration): Push declarations into class scope.
	* typeck.c (build_component_ref): Just put an OVERLOAD into the
	COMPONENT_REF, not a TREE_LIST of an OVERLOAD.
	(build_x_function_call): Deal with OVERLOAD.  Handle template-ids.
	* Makefile.in (class.o): Depend on splay-tree.h.

From-SVN: r26133
1999-04-02 15:36:57 +00:00
config mh-go32: Delete. 1999-03-17 16:19:59 -07:00
contrib * fixinc/*: Delete obsolete files. 1999-04-02 08:13:30 -07:00
etc * configure.in: Use AC_PREREQ(2.12.1). 1998-11-23 13:51:40 +00:00
gcc tinfo.h (__class_type_info): Fix illegal declaration. 1999-04-02 15:36:57 +00:00
include splay-tree.h (splay_tree_compare_pointers): Declare. 1999-04-02 15:18:06 +00:00
INSTALL Fix typo. 1998-07-18 15:48:44 +00:00
libchill configure.in (AC_PREREQ): Update to 2.13. 1999-03-24 14:46:41 -07:00
libf2c configure.in (extra_includes): Don't attempt to calculate the location of the gcc src or obj directories. 1999-03-31 10:56:35 +00:00
libiberty splay-tree.h (splay_tree_compare_pointers): Declare. 1999-04-02 15:18:06 +00:00
libio configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07:00
libobjc Explicitly specify the char arguments to __objc_code_char and __objc_code_char as being signed. 1999-03-26 23:44:04 +00:00
libstdc++ configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07:00
texinfo Makefile.in: Regen dependencies. 1999-02-24 01:03:01 +00:00
.cvsignore * .cvsignore (*-install): Remove. 1997-09-04 09:49:02 -06:00
ChangeLog configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07:00
config-ml.in config-ml.in: Default to being verbose, to match Feb 18 change to configure. 1998-10-08 17:34:45 -06:00
config.guess config.sub: Add i386-uwin support. 1999-03-10 17:20:22 -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: Add i386-uwin support. 1999-03-10 17:20:22 -07:00
configure configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07:00
configure.in configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07:00
COPYING
COPYING.LIB Update address. 1998-02-23 14:57:23 -07:00
install-sh Final changes from devo<->egcs merge. 1998-10-12 04:44:57 -06:00
ltconfig Various libtool updates from devo, including update to libtool 1.2b 1998-10-08 17:32:31 -06:00
ltmain.sh Various libtool updates from devo, including update to libtool 1.2b 1998-10-08 17:32:31 -06:00
MAINTAINERS Update tege's address. 1999-03-30 17:40:30 -07:00
Makefile.in configure (gxx_include_dir): Removed. 1999-04-02 07:17:49 -07: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 README: Remove installation instructions and refer to the INSTALL directory instead. 1998-10-02 09:22:08 +00:00
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.