1999-03-18  Jason Merrill  <jason@yorick.cygnus.com>

	* decl.c (start_function): Suppress normal linkage heuristics
	for #pragma interface under MULTIPLE_SYMBOL_SPACES.

1999-03-16  Jason Merrill  <jason@yorick.cygnus.com>

	* pt.c (coerce_template_parms): Check for missing typename earlier.

1999-02-18  Jason Merrill  <jason@yorick.cygnus.com>

	* method.c (process_modifiers): Don't prepend 'U' for char or
	wchar_t.

1999-01-04  Jason Merrill  <jason@yorick.cygnus.com>

	* tree.c (bound_pmf_p): New fn.
	* typeck.c (build_c_cast): Use it.

1999-03-01  Jason Merrill  <jason@yorick.cygnus.com>

	* decl2.c (import_export_class): Also return if
	CLASSTYPE_INTERFACE_ONLY is set.

1998-09-15  Andrew MacLeod  <amacleod@cygnus.com>

	* except.c (process_start_catch_block): Add call to start_decl_1().
	(process_start_catch_block_old): Likewise.

1999-02-10  Jason Merrill  <jason@yorick.cygnus.com>

	* decl.c (grokdeclarator): Catch wierd declarators.
	* decl2.c (finish_file): Don't abort because of namespace parsing
	failure.
	* parse.y (complex_direct_notype_declarator): Handle namespace
	scope on template id.

1998-10-03  Mark Mitchell  <mark@markmitchell.com>

	* lex.c (is_global): Improve error-recovery.

1998-07-14  Jason Merrill  <jason@yorick.cygnus.com>

	* parse.y (namespace_qualifier): Fix multiple level handling.
	* decl2.c (namespace_ancestor): Use CP_DECL_CONTEXT.

1999-01-26  Jason Merrill  <jason@yorick.cygnus.com>

	* pt.c (instantiate_class_template): Set up the DECL_INITIAL of
	member constants.

1998-11-06  Mark Mitchell  <mark@markmitchell.com>

	* cp-tree.h (lang_decl_flags): Add defined_in_class.  Decrease
	size of dummy.
	(DECL_DEFINED_IN_CLASS_P): New macro.
	* decl.c (cp_finish_decl): Set DECL_DEFINED_IN_CLASS_P, if
	appropriate. 

1999-01-11  Jason Merrill  <jason@yorick.cygnus.com>

	* decl2.c (import_export_class): MULTIPLE_SYMBOL_SPACES only means
	that we don't suppress the other copies.
	* lex.c (handle_cp_pragma): Likewise.

1998-09-03  Jason Merrill  <jason@yorick.cygnus.com>

	* decl2.c (import_export_vtable): Always make artificials comdat.
	(import_export_decl): Likewise.
	* pt.c (mark_decl_instantiated): Likewise.

1998-12-08  Jason Merrill  <jason@yorick.cygnus.com>

	* decl.c (lookup_name_real): Don't limit field lookup to types.

1998-12-04  Jason Merrill  <jason@yorick.cygnus.com>

	* lex.c (handle_cp_pragma): Disable #pragma interface/implementation
	if MULTIPLE_SYMBOL_SPACES.

1998-08-12  Mark Mitchell  <mark@markmitchell.com>

	* pt.c (print_template_context): Don't abort when instantiating a
	synthesized method.

1998-07-14  Martin von Lwis  <loewis@informatik.hu-berlin.de>

	* decl2.c (add_function): Move error message ...
	(arg_assoc_namespace): ... from here.

1998-11-16  Jason Merrill  <jason@yorick.cygnus.com>

	* call.c (build_method_call): Handle a BIT_NOT_EXPR around a 
	TYPE_DECL in a template.

1998-11-02  Jason Merrill  <jason@yorick.cygnus.com>

	* cp-tree.h (EMPTY_CONSTRUCTOR_P): Check !TREE_HAS_CONSTRUCTOR.
	* decl2.c (build_expr_from_tree): Propagate TREE_HAS_CONSTRUCTOR.
	* pt.c (tsubst_copy): Likewise.

1998-10-21  Jason Merrill  <jason@yorick.cygnus.com>

	* typeck.c (build_component_ref): Use of a type here is an error.

1998-10-30  Jason Merrill  <jason@yorick.cygnus.com>

	* pt.c (push_template_decl_real): Complain about mismatched
	template headers.

1998-10-28  Brendan Kehoe  <brendan@cygnus.com>

	1998-08-24  Nathan Sidwell  <nathan@acm.org>

        * lex.c (real_yylex): Don't warn about long long constants if
        we're allowing long long.

1998-10-28  Brendan Kehoe  <brendan@cygnus.com>

	* lex.c (real_yylex): For ANSI C++ warning about long long, check
	!in_system_header && warn_long_long, as we do in grokdeclarator.

1998-10-13  Jason Merrill  <jason@yorick.cygnus.com>

	* tinfo2.cc (fast_compare): Remove.
	(before): Just use strcmp.
	* tinfo.cc (operator==): Just use strcmp.

1998-10-12  Jason Merrill  <jason@yorick.cygnus.com>

	* tinfo.cc (operator==): Always compare names.

1998-10-12  Jason Merrill  <jason@yorick.cygnus.com>

	* inc/typeinfo: Add #pragma interface.
	(operator!=): Just call operator==.
	* tinfo.cc: Add #pragma implementation.
	(operator==): Move from inc/typeinfo and tinfo2.cc.

1998-09-10  Mark Mitchell  <mark@markmitchell.com>

	* decl.c (pushdecl): Don't copy types if the
	DECL_ABSTRACT_ORIGIN of the new decl matches the TYPE_NAME of the
	type. 

1998-10-14  Pavel Cisler  <pavel@be.com>

	* g++spec.c: Pass the right c++ library to the linker.

1998-08-17  Jason Merrill  <jason@yorick.cygnus.com>

	* decl.c (finish_enum): Also set TYPE_SIZE_UNIT.
	* class.c (finish_struct_bits): Likewise.

1998-05-29  scott snyder  <snyder@d0sgif.fnal.gov>

	* tree.c (layout_basetypes): If we change TYPE_SIZE, change
	TYPE_SIZE_UNIT too.

1998-09-09  Jason Merrill  <jason@yorick.cygnus.com>

	* g++spec.c (lang_specific_driver): Check whether MATH_LIBRARY is
	null to decide whether to use it.

1998-08-21  Jason Merrill  <jason@yorick.cygnus.com>

	* decl2.c (arg_assoc): Don't skip the first argument.

1998-08-13  Mumit Khan  <khan@xraylith.wisc.edu>

	* decl2.c (import_export_class): Don't use dllexport
	attribute as a heuristic.

1998-07-23  Jason Merrill  <jason@yorick.cygnus.com>

	* decl2.c (import_export_template): Fold in...
	(import_export_class): ...to here.  Handle dllimport/export.

	* class.c (build_vtable): Pass at_eof to import_export_vtable.
	(prepare_fresh_vtable): Likewise.
	* decl2.c (import_export_class): Split out...
	(finish_prevtable_vardecl): From here.
	* class.c (finish_struct_1): Call import_export_class if at_eof.

	* decl.c (start_function): #if 0 mysterious code I wrote and have 
	forgotten why.
	* rtti.c (get_tinfo_fn): If this is for a class type, set
	DECL_CONTEXT.

1998-07-22  Jason Merrill  <jason@yorick.cygnus.com>

	* parse.y (named_class_head_sans_basetype_defn): A
	named_class_head_sans_basetype followed by '{' or ':' is a defn.

Mon Jul 13 14:23:03 1998  Nick Clifton  <nickc@cygnus.com>

	* lang-options.h: Format changed to match changes in gcc/toplev.c
	to implement a --help option.

1998-07-08  Vladimir N. Makarov  <vmakarov@cygnus.com>

	* cp-tree.h (warn_long_long): Define.
	* decl.c (grokdeclarator): Add flag `warn_long_long' as guard for
	warning "ANSI C++ does not support `long long'".
	* decl2.c (warn_long_long): Define.
	(lang_decode_option): Parse -Wlong-long, -Wno-long-long options.

	
Thu May 21 10:21:04 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>

	* TODO: Updated the exception handling todo list a bit.

Wed Feb 18 12:18:23 1998  Michael Tiemann  <tiemann@axon.cygnus.com>

	* inc/new: (__THROW, __nothing): New macros, for making libgcc2
	functionality conditional on -fembedded-cxx.
	(operator new*, operator delete*): Change type signatures to be
	correct when -fembedded-cxx is specified.

	* new1.cc (operator new): Change `throw' to __THROW, so that file
	can be compiled with -fembedded-cxx.  Also, don't try to call
	`handler' if __EMBEDDED_CXX__ is defined.
	* new2.cc (operator new[], operator delete, operator delete []):
	Likewise.

	* new.cc (nothrow): Only define if not __EMBEDDED_CXX__.

	* exception.cc: Contents of this file depend on	__EMBEDDED_CXX__
	not being defined.
	* tinfo2.cc: Ditto.

Mon Feb 9 17:28:39 EST 1998 Andrew MacLeod <amacleod@torpedo.to.cygnus.com>

	* TODO: Add new file with G++ todo items.

Tue Jan 27 12:04:38 1998  Jason Merrill  <jason@yorick.cygnus.com>

	* decl2.c (lang_decode_option): -fembedded-cxx implies
 	-fvtable-thunks.

Wed Jan 21 10:01:32 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>

	* inc/new: Remove orphan C-style end comment.

1997-10-31  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* lex.c (embedded_pedwarn): Change its return type to void.

1997-10-14  Brendan Kehoe  <brendan@lisa.cygnus.com>

	Compliance with the Embedded C++ language specification.
	By default we generate warnings; use -pedantic-errors to turn them
	into hard errors.
	* decl2.c (flag_embedded_cxx): Define.
	(struct lang_f_options): Add -fembedded-cxx.
	(lang_decode_option): If -fembedded-cxx, set FLAG_EMBEDDED_CXX,
	and clear FLAG_RTTI and FLAG_EXCEPTIONS.
	* lang-options.h: Add -fembedded-cxx and -fno-embedded-cxx.
	* lang-specs.h: If -fembedded-cxx, define __EMBEDDED_CXX__.
	* cp-tree.h (flag_embedded_cxx): Add decl.
	* parse.y (base_class_list): Give a pedwarn about inheritance if
	FLAG_EMBEDDED_CXX.
	(base_class): Likewise for the base_class_access_list case.

	* lex.c (real_yylex): Give pedwarns if FLAG_EMBEDDED_CXX is true and
	the token VALUE is any of TRY, CATCH, THROW, TEMPLATE, TYPENAME,
	USING, or NAMESPACE.  Likewise for DYNAMIC_CAST, STATIC_CAST,
	REINTERPRET_CAST, CONST_CAST, or TYPEID.
	(embedded_{template,eh,namespace}_error): New global variables to
	make us only give a warning/error about each once.
	(embedded_pedwarn): New fn to do the actual pedwarn.
	* decl.c (grokdeclarator): Give a pedwarn for using mutable.

	* inc/new: Only make the EH stuff appear if !__EMBEDDED_CXX__.
	(new, new[]) [__EMBEDDED_CXX__]: For placement versions, take out
	the default throw.  This particular bit is under discussion with
	the EC++ committee currently.

