1169689SkanMon Dec 22 11:36:27 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2169689Skan
3169689Skan	* call.c (add_builtin_candidate): Add default case in enumeration
4169689Skan	switch.
5169689Skan	(build_new_op): Likewise.
6169689Skan	(convert_like): Likewise.
7169689Skan	* cvt.c (build_expr_type_conversion): Likewise.
8169689Skan	* tree.c (real_lvalue_p): Likewise.
9169689Skan	(lvalue_p): Likewise.
10169689Skan	(cp_tree_equal): Likewise.
11169689Skan	* typeck.c (comptypes): Likewise.
12169689Skan	(build_component_ref): Likewise.
13169689Skan	(build_function_call_real): Likewise.
14169689Skan	(build_binary_op_nodefault): Likewise.
15169689Skan	(build_unary_op): Likewise.
16169689Skan	(build_modify_expr): Likewise.
17169689Skan	* typeck2.c (initializer_constant_valid_p): Likewise.
18169689Skan
19169689SkanSun Dec 21 15:59:00 1997  Nick Clifton  <nickc@cygnus.com>
20169689Skan
21169689Skan	* decl2.c (lang_decode_option): Add support for -Wunknown-pragmas.
22169689Skan
23169689SkanThu Dec 18 14:51:50 1997  Mark Mitchell  <mmitchell@usa.net>
24169689Skan
25169689Skan	* pt.c (coerce_template_parms): Make sure to digest_init if
26169689Skan	possible.
27169689Skan
28169689Skan	* decl.c (duplicate_decls): Make the newdecl virtual if the
29169689Skan	olddecl was, just as is done with other attributes of olddecl.
30169689Skan
31169689SkanThu Dec 18 14:43:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
32169689Skan
33169689Skan	* typeck.c (unary_complex_lvalue): Ignore op0 when taking the
34169689Skan	address of an OFFSET_REF.
35169689Skan
36169689Skan	* cp-tree.def: Add AGGR_INIT_EXPR.
37169689Skan	* error.c, tree.c, typeck.c: Replace uses of NEW_EXPR with
38169689Skan	AGGR_INIT_EXPR where appropriate.
39169689Skan	* expr.c (cplus_expand_expr): Likewise.  Simplify.
40169689Skan
41169689Skan	* decl2.c (finish_file): Remove call to register_exception_table.
42169689Skan
43169689SkanWed Dec 17 17:08:52 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
44169689Skan
45169689Skan	* pt.c (instantiate_class_template): Don't do injection when
46169689Skan	processing_template_decl is true, as pollutes current_binding_level
47169689Skan	for base classes.
48169689Skan
49169689SkanWed Dec 17 21:17:39 1997  Peter Schmid  <schmid@ltoi.iap.physik.tu-darmstadt.de>
50169689Skan
51169689Skan	* pt.c (maybe_fold_nontype_arg): Add prototype.
52169689Skan
53169689SkanTue Dec 16 10:31:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
54169689Skan
55169689Skan	* tree.c (mapcar): Handle TRY_CATCH_EXPR et al.
56169689Skan	* error.c (dump_expr): Likewise.
57169689Skan
58169689SkanMon Dec 15 12:22:04 1997  Jason Merrill  <jason@yorick.cygnus.com>
59169689Skan
60169689Skan	* typeck.c (build_function_call_real): Remove "inline called before
61169689Skan	definition" pedwarn.
62169689Skan
63169689Skan	* pt.c (coerce_template_parms): Use maybe_fold_nontype_arg.
64169689Skan
65169689SkanSun Dec 14 22:34:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
66169689Skan
67169689Skan	* cvt.c (cp_convert_to_pointer): Fix base conversion of pm's.
68169689Skan
69169689Skan	* pt.c (type_unification_real): Change __null to type void* with
70169689Skan	a warning.
71169689Skan
72169689SkanSun Dec 14 20:38:35 1997  Mark Mitchell  <mmitchell@usa.net>
73169689Skan
74169689Skan	* call.c (implicit_conversion): Don't call
75169689Skan	build_user_type_conversion_1 with a NULL expr, since it will
76169689Skan	crash.
77169689Skan
78169689Skan	* pt.c (unify): Don't try to unify array bounds if either array is
79169689Skan	unbounded.
80169689Skan
81169689SkanFri Dec 12 16:09:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
82169689Skan
83169689Skan	* errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at):
84169689Skan	Replace extern decls with casts.
85169689Skan
86169689Skan	* decl.c (expand_start_early_try_stmts): Don't mess with a sequence.
87169689Skan	Update last_parm_cleanup_insn.
88169689Skan	(store_after_parms): Remove.
89169689Skan	* cp-tree.h: Adjust.
90169689Skan
91169689SkanThu Dec 11 22:18:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
92169689Skan
93169689Skan	* decl2.c (comdat_linkage): Also set DECL_COMDAT.
94169689Skan	(finish_file): Check DECL_COMDAT instead of weak|one_only.
95169689Skan	(import_export_vtable): Use make_decl_one_only instead of
96169689Skan	comdat_linkage for win32 tweak.
97169689Skan	(import_export_decl): Likewise.
98169689Skan	* pt.c (mark_decl_instantiated): Likewise.
99169689Skan
100169689Skan	* decl2.c (finish_file): Lose handling of templates in pending_statics.
101169689Skan
102169689SkanThu Dec 11 21:12:09 1997  Jason Merrill  <jason@yorick.cygnus.com>
103169689Skan
104169689Skan	* decl2.c (finish_file): Lose call to expand_builtin_throw.
105169689Skan	* except.c (expand_builtin_throw): Remove.
106169689Skan	* cp-tree.h: Remove ptr_ptr_type_node.
107169689Skan	* decl.c: Likewise.
108169689Skan
109169689SkanThu Dec 11 20:43:33 1997  Teemu Torma  <tot@trema.com>
110169689Skan
111169689Skan	* decl.c (ptr_ptr_type_node): Define.
112169689Skan	(init_decl_processing): Initialize it.
113169689Skan	* cp-tree.h: Declare it.
114169689Skan	* exception.cc (__cp_exception_info): Use __get_eh_info.
115169689Skan	(__cp_push_exception): Likewise.
116169689Skan	(__cp_pop_exception): Likewise.
117169689Skan
118169689Skan	From Scott Snyder <snyder@d0sgif.fnal.gov>:
119169689Skan	* except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
120169689Skan	saved_pc.
121169689Skan	(init_exception_processing): Removed saved_pc initialization.
122169689Skan
123169689SkanWed Dec 10 11:04:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
124169689Skan
125169689Skan	* pt.c (instantiate_decl): Defer all templates but inline functions.
126169689Skan
127169689SkanMon Dec  8 23:17:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
128169689Skan
129169689Skan	* init.c (expand_vec_init): Don't fold a list of parameters.
130169689Skan
131169689Skan	* decl.c (copy_args_p): Handle copy elision for types with virtual
132169689Skan	bases.
133169689Skan	* call.c (build_over_call): Likewise.
134169689Skan
135169689SkanSun Dec  7 22:38:12 1997  Mark Mitchell  <mmitchell@usa.net>
136169689Skan
137169689Skan	* pt.c (lookup_template_function): Copy the template arguments,
138169689Skan	not just the list containing them, to the permanent obstack.
139169689Skan
140169689SkanSun Dec  7 15:53:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
141169689Skan
142169689Skan	* except.c (expand_start_catch_block): suspend_momentary for the
143169689Skan	terminate handler.
144169689Skan
145169689Skan	* error.c (dump_decl): Handle LOOKUP_EXPR.
146169689Skan
147169689SkanSun Dec  7 15:45:07 1997  Mark Mitchell  <mmitchell@usa.net>
148169689Skan
149169689Skan	* rtti.c (build_dynamic_cast): Copy the cast-to type to the
150169689Skan	permanent obstack if we are processing a template decl.
151169689Skan	* typeck.c (build_static_cast): Likewise.
152169689Skan	(build_const_cast): Likewise.
153169689Skan	(build_reinterpret_cast): Likewise.
154169689Skan
155169689Skan	* pt.c (coerce_template_parms): Coerce some expressions, even
156169689Skan	when processing_template_decl.
157169689Skan
158169689SkanSun Dec  7 01:46:33 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
159169689Skan
160169689Skan	* typeck.c (build_binary_op_nodefault, pointer_diff): Symmetric
161169689Skan	handling of pointer difference expressions.
162169689Skan
163169689Skan	* typeck.c (comp_target_types): Comparison of function/method types
164169689Skan	is independent of nptrs.
165169689Skan
166169689SkanSun Dec  7 01:40:27 1997  Mark Mitchell  <mmitchell@usa.net>
167169689Skan
168169689Skan	* pt.c (tsubst): Avoid creating pointer to reference and
169169689Skan	reference to reference types.
170169689Skan
171169689SkanSat Dec  6 01:29:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
172169689Skan
173169689Skan	* parse.y (do_id): New nonterminal.
174169689Skan	(template_id): Use it.
175169689Skan
176169689SkanFri Dec  5 01:17:34 1997  Jason Merrill  <jason@yorick.cygnus.com>
177169689Skan
178169689Skan	* parse.y (template_id): do_identifier for PFUNCNAMEs, too.
179169689Skan	* spew.c (yylex): Don't do_identifier here.
180169689Skan	* decl2.c (build_expr_from_tree): Revert last change.
181169689Skan
182169689Skan	* decl2.c (build_expr_from_tree): Expand the name for a method call.
183169689Skan	* parse.y (object_template_id): Don't try to take the DECL_NAME.
184169689Skan
185169689SkanWed Dec  3 20:02:39 1997  Jason Merrill  <jason@yorick.cygnus.com>
186169689Skan
187169689Skan	* init.c (build_new): Use a TARGET_EXPR instead of SAVE_EXPR for
188169689Skan	alloc_expr.
189169689Skan	* call.c (build_op_delete_call): Adjust.
190169689Skan
191169689Skan	* except.c (expand_end_catch_block): Lose rethrow region.
192169689Skan	(expand_start_catch_block): Likewise.
193169689Skan	(expand_end_catch_block): Don't expand_leftover_cleanups.
194169689Skan
195169689SkanWed Dec  3 13:24:04 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
196169689Skan
197169689Skan	* pt.c (tsubst): Remove tree_cons call (places redundant info into
198169689Skan	DECL_TEMPLATE_INSTANTIATION).
199169689Skan
200169689SkanWed Dec  3 11:44:52 1997  Jason Merrill  <jason@yorick.cygnus.com>
201169689Skan
202169689Skan	* tree.c (is_overloaded_fn): Handle getting a fn template.
203169689Skan	(really_overloaded_fn): Likewise.
204169689Skan	* error.c (dump_decl): Handle TEMPLATE_ID_EXPRs better.
205169689Skan	* pt.c (check_explicit_specialization): Tweak.
206169689Skan	(determine_explicit_specialization): Tweak.
207169689Skan
208169689Skan	* tree.c, cp-tree.h (get_target_expr): New fn.
209169689Skan
210169689SkanWed Dec  3 08:47:27 1997  Paul Eggert  <eggert@twinsun.com>
211169689Skan
212169689Skan	* pt.c (check_explicit_specialization): Fix misspelling in
213169689Skan	diagnostic: `preceeded'.
214169689Skan	* typeck.c (get_delta_difference): Fix misspelling in diagnostic:
215169689Skan	`conversiona'.
216169689Skan
217169689Skan1997-12-02  Mark Mitchell  <mmitchell@usa.net>
218169689Skan
219169689Skan	* pt.c (determine_explicit_specialization): Avoid an internal
220169689Skan	error for bad specializations.
221169689Skan
222169689Skan	* method.c (build_overload_value): Handle SCOPE_REF.
223169689Skan
224169689SkanTue Dec  2 19:18:50 1997  Mike Stump  <mrs@wrs.com>
225169689Skan
226169689Skan	* class.c (prepare_fresh_vtable): Enable even more complex MI
227169689Skan	vtable names.
228169689Skan
229169689SkanTue Dec  2 01:37:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
230169689Skan
231169689Skan	* exception.cc (__check_eh_spec): Optimize a bit.
232169689Skan
233169689Skan	* exception.cc (__cp_pop_exception): Lose handler arg.
234169689Skan	* except.c (do_pop_exception): Likewise.
235169689Skan	(push_eh_cleanup): Let the cleanup mechanism supply the handler.
236169689Skan	(expand_end_catch_block): Likewise.
237169689Skan
238169689SkanFri Nov 28 01:58:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
239169689Skan
240169689Skan	* pt.c (check_explicit_specialization): Complain about using a
241169689Skan	template-id for a non-specialization.
242169689Skan
243169689SkanFri Nov 28 12:35:19 1997  Scott Christley  <scottc@net-community.com>
244169689Skan
245169689Skan	* repo.c: Prototype rindex only if needed.
246169689Skan	* xref.c: Likewise.
247169689Skan
248169689SkanFri Nov 28 01:56:35 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
249169689Skan
250169689Skan	* error.c (dump_decl): Handle TEMPLATE_ID_EXPR.
251169689Skan
252169689SkanThu Nov 27 00:59:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
253169689Skan
254169689Skan	* typeck.c (build_const_cast): Handle references here instead of
255169689Skan	handing off to convert_to_reference.
256169689Skan
257169689Skan	* except.c: Lose Unexpected, SetTerminate, SetUnexpected,
258169689Skan	TerminateFunctionCall.
259169689Skan	(init_exception_processing): Likewise.  Terminate et al are now
260169689Skan	the fns, not ADDR_EXPRs.
261169689Skan	(various): Lose redundant assemble_external calls.
262169689Skan	(do_unwind): s/BuiltinReturnAddress/builtin_return_address_fndecl/.
263169689Skan
264169689Skan	* cp-tree.h (struct lang_decl_flags): Add comdat.
265169689Skan	(DECL_COMDAT): New macro.
266169689Skan	* decl.c (duplicate_decls): Propagate it.
267169689Skan	(cp_finish_decl): Handle it.
268169689Skan	* decl2.c (import_export_decl): Just set DECL_COMDAT on VAR_DECLs.
269169689Skan
270169689Skan	* class.c: Remove static pending_hard_virtuals.
271169689Skan	(add_virtual_function): Take pointers to pending_virtuals
272169689Skan	and pending_hard_virtuals.
273169689Skan	(finish_struct_1): Pass them.  Declare pending_hard_virtuals.
274169689Skan
275169689SkanWed Nov 26 20:28:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
276169689Skan
277169689Skan	* decl2.c (import_export_vtable): If we support one_only but not
278169689Skan	weak symbols, mark instantiated template vtables one_only.
279169689Skan	(import_export_decl): Likewise for tinfo functions.
280169689Skan	(finish_vtable_vardecl): Also write out vtables from explicitly
281169689Skan	instantiated template classes.
282169689Skan	* pt.c (mark_class_instantiated): Revert last change.
283169689Skan
284169689Skan	* except.c (expand_throw): Call mark_used on the destructor.
285169689Skan
286169689SkanWed Nov 26 15:13:48 1997  Jeffrey A Law  (law@cygnus.com)
287169689Skan
288169689Skan	* lex.c (lang_init): Enable flag_exceptions by default if no
289169689Skan	command line switch was specified.
290169689Skan
291169689Skan1997-11-26  Mark Mitchell  <mmitchell@usa.net>
292169689Skan
293169689Skan	* pt.c (unify): Handle `void' template parameters in
294169689Skan	specializations.
295169689Skan
296169689SkanWed Nov 26 01:11:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
297169689Skan
298169689Skan	* rtti.c (build_dynamic_cast): Handle template case here.
299169689Skan	(build_dynamic_cast_1): Not here.
300169689Skan
301169689Skan	* typeck2.c (digest_init): Make copies where appropriate.
302169689Skan
303169689Skan	* decl2.c (delete_sanity): resolve_offset_ref.
304169689Skan
305169689Skan	* except.c: Call terminate without caching so many bits.
306169689Skan
307169689Skan	* except.c (expand_start_catch_block): Fix catching a reference
308169689Skan	to pointer.
309169689Skan
310169689SkanTue Nov 25 11:28:21 1997  Jason Merrill  <jason@yorick.cygnus.com>
311169689Skan
312169689Skan	* init.c (build_new): Copy size to the saveable obstack.
313169689Skan
314169689Skan	* init.c (build_new): Stick a CLEANUP_POINT_EXPR inside the
315169689Skan	TRY_CATCH_EXPR for now.
316169689Skan
317169689SkanMon Nov 24 12:15:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
318169689Skan
319169689Skan	* typeck.c (mark_addressable): Don't assume a FUNCTION_DECL
320169689Skan	has DECL_LANG_SPECIFIC.
321169689Skan
322169689Skan	* exception.cc (struct cp_eh_info): Add handlers field.
323169689Skan	(__cp_push_exception): Initialize it.
324169689Skan	(__cp_pop_exception): Decrement it.  Don't pop unless it's 0.
325169689Skan	(__throw_bad_exception): Remove.
326169689Skan	* except.c (call_eh_info): Add handlers field.
327169689Skan	(get_eh_handlers): New fn.
328169689Skan	(push_eh_cleanup): Increment handlers.
329169689Skan
330169689SkanFri Nov 21 12:22:07 1997  Jason Merrill  <jason@yorick.cygnus.com>
331169689Skan
332169689Skan	* except.c (expand_start_eh_spec): Use the try/catch code.
333169689Skan	(expand_end_eh_spec): Likewise.  Call __check_eh_spec instead of
334169689Skan	doing everything inline.
335169689Skan	(init_exception_processing): throw_type_match now takes
336169689Skan	const void pointers.
337169689Skan	* exception.cc (__check_eh_spec): New fn.
338169689Skan	* inc/exception: Neither terminate nor unexpected return.
339169689Skan	* decl.c: Make const_ptr_type_node public.
340169689Skan	* tinfo2.cc (__throw_type_match_rtti): Take the typeinfos constly.
341169689Skan
342169689Skan	* except.c (expand_start_catch_block): We only need the rethrow
343169689Skan	region for non-sjlj exceptions.
344169689Skan	(expand_end_catch_block): Likewise.  Use outer_context_label_stack.
345169689Skan
346169689SkanThu Nov 20 14:40:17 1997  Jason Merrill  <jason@yorick.cygnus.com>
347169689Skan
348169689Skan	* Make-lang.in (CXX_LIB2FUNCS): Add new op new and op delete objs.
349169689Skan	(various.o): Likewise.
350169689Skan	* inc/new: Add placement deletes.  Add throw specs for default new.
351169689Skan	* new.cc (set_new_handler): Move here from libgcc2.
352169689Skan	* new1.cc (new (nothrow)): Catch a bad_alloc thrown from the handler.
353169689Skan	(new): Move from libgcc2.  Throw bad_alloc.
354169689Skan	* new2.cc: Move the rest of the op news and op deletes from libgcc2.
355169689Skan	* decl.c (init_decl_processing): Update exception specs on new and
356169689Skan	delete.
357169689Skan
358169689Skan	* method.c (build_decl_overload_real): Don't mess with global
359169689Skan	placement delete.
360169689Skan
361169689Skan	* init.c (build_new): Check for null throw spec, not nothrow_t.
362169689Skan
363169689Skan	* decl.c (duplicate_decls): Don't complain about different exceptions
364169689Skan	from an internal declaration.
365169689Skan
366169689Skan	* call.c (build_op_delete_call): Fix check for member fns again.
367169689Skan
368169689Skan	* decl2.c (import_export_decl): Interface hackery affects
369169689Skan	virtual synthesized methods.
370169689Skan
371169689SkanWed Nov 19 18:24:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
372169689Skan
373169689Skan	* decl.c (start_decl): Don't just complain about a mismatched
374169689Skan	scope, fix it.
375169689Skan
376169689Skan	* decl.c (make_implicit_typename): Handle case where t is not
377169689Skan	actually from context.
378169689Skan	* tree.c (get_type_decl): Lose identifier case.
379169689Skan	* spew.c (yylex): Lose useless call to identifier_typedecl_value.
380169689Skan	* parse.y (nonnested_type): Just use lookup_name.
381169689Skan	(complex_type_name): Just use IDENTIFIER_GLOBAL_VALUE.
382169689Skan
383169689SkanWed Nov 19 11:45:07 1997  Michael Tiemann  <tiemann@axon.cygnus.com>
384169689Skan
385169689Skan	* error.c (dump_function_name): Test DECL_LANG_SPECIFIC in case
386169689Skan	T was built in C language context (for example, by
387169689Skan	output_func_start_profiler).
388169689Skan
389169689SkanWed Nov 19 10:39:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
390169689Skan
391169689Skan	* decl.c (make_implicit_typename): New fn.
392169689Skan	(lookup_name_real): Use it.  Use current_class_type as the context.
393169689Skan
394169689SkanMon Nov 17 23:42:03 1997  Bruno Haible  <haible@ilog.fr>
395169689Skan
396169689Skan	* pt.c (do_poplevel): Don't prohibit jumps into this contour.
397169689Skan
398169689SkanMon Nov 17 02:01:28 1997  Jason Merrill  <jason@yorick.cygnus.com>
399169689Skan
400169689Skan	* friend.c (do_friend): Warn about non-template friends in templates.
401169689Skan
402169689Skan	* call.c (build_op_delete_call): Fix handling of inherited delete.
403169689Skan
404169689Skan	* search.c (dfs_record_inheritance): Ignore template type parms.
405169689Skan
406169689SkanSat Nov 15 00:30:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
407169689Skan
408169689Skan	* call.c (build_new_op): Fix copy error.
409169689Skan	(build_op_new_call): New fn.
410169689Skan	(build_op_delete_call): New fn.
411169689Skan	* cp-tree.h: Declare them.
412169689Skan	* init.c (build_new): Use them.  Support placement delete.
413169689Skan	(build_x_delete): Use build_op_delete_call.
414169689Skan	(build_delete): Likewise.
415169689Skan	* decl2.c (delete_sanity): Likewise.
416169689Skan	(coerce_delete_type): Don't complain about placement delete.
417169689Skan
418169689SkanThu Nov 13 01:52:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
419169689Skan
420169689Skan	* call.c (build_new_function_call): Remove unused 'obj' parm.
421169689Skan	* cp-tree.h, typeck.c: Adjust.
422169689Skan
423169689Skan	* init.c (build_new): Make the cleanup last longer.
424169689Skan	(expand_vec_init): Call do_pending_stack_adjust.
425169689Skan
426169689SkanWed Nov 12 11:04:33 1997  Jason Merrill  <jason@yorick.cygnus.com>
427169689Skan
428169689Skan	* pt.c (do_type_instantiation): Fix typo.
429169689Skan	(mark_class_instantiated): If we support one_only but not weak
430169689Skan	symbols, don't mark this as known.
431169689Skan
432169689Skan	* init.c (build_new): Handle vec delete in EH cleanup.
433169689Skan
434169689SkanWed Nov 12 08:11:55 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
435169689Skan
436169689Skan	* call.c (build_method_call): Call complete_type before checking
437169689Skan	for destructor.
438169689Skan
439169689SkanSun Nov  9 01:29:55 1997  Jim Wilson  (wilson@cygnus.com)
440169689Skan
441169689Skan	* decl.c (add_block_current_level): Delete.
442169689Skan	* init.c (build_vec_delete_1): Delete build_block and
443169689Skan	add_block_current_level calls.
444169689Skan
445169689SkanWed Nov 12 00:48:16 1997  Jason Merrill  <jason@yorick.cygnus.com>
446169689Skan
447169689Skan	* init.c (build_new): Handle freeing allocated memory when the
448169689Skan	constructor throws.
449169689Skan
450169689Skan	* call.c (build_new_method_call): Fix flags arg.
451169689Skan
452169689Skan	* pt.c (do_type_instantiation): Don't try to instantiate
453169689Skan	member templates.
454169689Skan	(mark_decl_instantiated): If we support one_only but not
455169689Skan	weak symbols, mark this one_only.
456169689Skan	* decl2.c (import_export_vtable): Don't defer handling of vtables
457169689Skan	if MULTIPLE_SYMBOL_SPACES.
458169689Skan
459169689SkanTue Nov 11 12:02:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
460169689Skan
461169689Skan	* except.c (expand_end_catch_block): Lose call to __sjpopnthrow.
462169689Skan
463169689SkanTue Nov 11 02:53:44 1997  Jason Merrill  <jason@lasher.cygnus.com>
464169689Skan
465169689Skan	* except.c (do_pop_exception): Return a value.
466169689Skan
467169689SkanMon Nov 10 20:25:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
468169689Skan
469169689Skan	* call.c (build_new_method_call): Handle getting a
470169689Skan	TEMPLATE_ID_EXPR around a TEMPLATE_DECL.  Don't look for a field
471169689Skan	if we got template parms.
472169689Skan	* typeck.c (build_x_function_call): Remember the TEMPLATE_ID_EXPR,
473169689Skan	not just the args.
474169689Skan	* decl2.c (build_expr_from_tree): Tweak last change.
475169689Skan	* pt.c (tsubst_copy): Use get_first_fn instead of TREE_VALUE.
476169689Skan	(maybe_fold_nontype_arg): Split out from tsubst_copy.
477169689Skan	* tree.c (get_first_fn): Just return a TEMPLATE_ID_EXPR.
478169689Skan
479169689SkanMon Nov 10 20:08:38 1997  Kriang Lerdsuwanakij  <lerdsuwa@scf-fs.usc.edu>
480169689Skan
481169689Skan	* pt.c (tsubst_copy): Handle explicit template arguments in
482169689Skan	function calls.
483169689Skan	* typeck.c (build_x_function_call): Likewise.
484169689Skan	* decl2.c (build_expr_from_tree): Lookup function name if it
485169689Skan	hasn't been done.
486169689Skan
487169689Skan	* pt.c (tsubst): Instantiate template functions properly when
488169689Skan	template parameter does not appear in function arguments and return
489169689Skan	type.
490169689Skan	(comp_template_args): Handle member templates required by tsubst.
491169689Skan
492169689SkanMon Nov 10 20:08:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
493169689Skan
494169689Skan	* decl.c (grokdeclarator): Tweak conditions for pedwarn in
495169689Skan	previous change.
496169689Skan
497169689SkanMon Nov 10 20:08:29 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
498169689Skan
499169689Skan	* pt.c (coerce_template_parms): Tweak error message.
500169689Skan
501169689Skan	* decl.c (grokdeclarator): If -Wreturn-type, warn everytime a
502169689Skan	return type defaults to `int', even if there are storage-class
503169689Skan	specifiers.
504169689Skan
505169689SkanMon Nov 10 03:04:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
506169689Skan
507169689Skan	Complete nested exception support.
508169689Skan	* except.c (do_pop_exception): Split out...
509169689Skan	(push_eh_cleanup): From here.  Handle the EH region by hand.
510169689Skan	(expand_start_catch_block): Add a new level for the catch parm.
511169689Skan	Move the rethrow region outside the two cleanup regions.
512169689Skan	Protect the initializer for the catch parm with terminate.
513169689Skan	(expand_end_catch_block): Likewise.  End the region for the eh_cleanup.
514169689Skan	* exception.cc (__cp_pop_exception): Now takes two parms.  Handle
515169689Skan	popping off the middle of the stack.
516169689Skan	* tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR,
517169689Skan	WITH_CLEANUP_EXPR, and UNSAVE_EXPR.
518169689Skan	(build_cplus_new): Only wrap CALL_EXPRs.
519169689Skan	* init.c (expand_default_init): Handle a TRY_CATCH_EXPR around
520169689Skan	the constructor call.
521169689Skan
522169689SkanSun Nov  9 18:00:26 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
523169689Skan
524169689Skan	* Make-lang.in (c++.distdir): Make inc subdirectory.
525169689Skan
526169689SkanFri Nov  7 11:57:28 1997  Jason Merrill  <jason@yorick.cygnus.com>
527169689Skan
528169689Skan	* decl2.c (finish_file): Put back some code.
529169689Skan
530169689SkanThu Nov  6 11:28:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
531169689Skan
532169689Skan	* decl2.c (finish_file): Remove redundant code.
533169689Skan	* method.c (emit_thunk): Don't let the backend defer generic thunks.
534169689Skan
535169689SkanWed Nov  5 23:52:50 1997  Jason Merrill  <jason@yorick.cygnus.com>
536169689Skan
537169689Skan	* except.c (call_eh_info): Split out...
538169689Skan	(push_eh_info): From here.
539169689Skan	(expand_builtin_throw): Use it.
540169689Skan	(expand_start_catch_block): Move region start back.
541169689Skan
542169689SkanTue Nov  4 13:45:10 1997  Doug Evans  <devans@canuck.cygnus.com>
543169689Skan
544169689Skan	* lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
545169689Skan	(real_yylex): Record wide strings using target endianness, not host.
546169689Skan
547169689Skan1997-11-03  Brendan Kehoe  <brendan@lisa.cygnus.com>
548169689Skan
549169689Skan	* repo.c (rindex): Add decl unconditionally.
550169689Skan	(get_base_filename, open_repo_file): Don't cast rindex.
551169689Skan	* xref.c (rindex): Add decl unconditionally.
552169689Skan	(index): Remove unused decl.
553169689Skan	(open_xref_file): Don't cast rindex.
554169689Skan
555169689SkanSun Nov  2 15:04:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
556169689Skan
557169689Skan	* class.c (build_vbase_path): Propagate the result type properly.
558169689Skan
559169689Skan1997-11-01  Brendan Kehoe  <brendan@lisa.cygnus.com>
560169689Skan
561169689Skan	* except.c (expand_builtin_throw) [!DWARF2_UNWIND_INFO]: Replace
562169689Skan	remaining use of saved_throw_type with a call to get_eh_type.
563169689Skan
564169689Skan1997-10-31  Brendan Kehoe  <brendan@lisa.cygnus.com>
565169689Skan
566169689Skan	* lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
567169689Skan	(file_name_nondirectory): New function, doing the same as the macro.
568169689Skan	(set_typedecl_interface_info): Use it instead of the macro.
569169689Skan	(check_newline): Likewise.
570169689Skan	(handle_cp_pragma): Likewise.
571169689Skan
572169689Skan	* repo.c (get_base_filename): Cast result of rindex to char*.
573169689Skan	(open_repo_file): Likewise.
574169689Skan	* xref.c (open_xref_file): Likewise.
575169689Skan	* error.c (dump_char): Make its arg int, not char.
576169689Skan
577169689Skan	* except.c (push_eh_info): Pass the number of fields - 1 down, not
578169689Skan	the exact number of fields.
579169689Skan
580169689SkanFri Oct 31 01:47:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
581169689Skan
582169689Skan	Support for nested exceptions.
583169689Skan	* tinfo2.cc (__is_pointer): New fn.
584169689Skan	* exception.cc (struct cp_eh_info): Define.
585169689Skan	(__cp_exception_info, __uncatch_exception): New fns.
586169689Skan	(__cp_push_exception, __cp_pop_exception): New fns.
587169689Skan	* except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
588169689Skan	Lose empty_fndecl.
589169689Skan	(init_exception_processing): Likewise.  __eh_pc is now external.
590169689Skan	(push_eh_info): New fn.
591169689Skan	(get_eh_{info,value,type,caught}): New fns.
592169689Skan	(push_eh_cleanup): Just call __cp_pop_exception.
593169689Skan	(expand_start_catch_block): Use push_eh_info.  Start the eh region
594169689Skan	sooner.
595169689Skan	(expand_end_eh_spec): Use push_eh_info.
596169689Skan	(expand_throw): Call __cp_push_exception to set up the exception info.
597169689Skan	Just pass the destructor or 0 as the cleanup.  Call __uncatch_exception
598169689Skan	when we rethrow.
599169689Skan	(expand_builtin_throw): Don't refer to empty_fndecl.
600169689Skan
601169689SkanThu Oct 23 02:01:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
602169689Skan
603169689Skan	* pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.
604169689Skan
605169689Skan1997-10-22  Brendan Kehoe  <brendan@cygnus.com>
606169689Skan
607169689Skan	* method.c (build_template_parm_names, build_decl_overload_real):
608169689Skan	Add static to definitions.
609169689Skan	* pt.c (add_to_template_args, note_template_header,
610169689Skan	processing_explicit_specialization, type_unification_real): Likewise.
611169689Skan	({determine,check}_explicit_specialization): Use a single string for
612169689Skan	error messages.
613169689Skan
614169689SkanMon Oct 20 12:06:34 1997  Jason Merrill  <jason@yorick.cygnus.com>
615169689Skan
616169689Skan	* except.c (expand_exception_blocks): Call do_pending_stack_adjust.
617169689Skan	(expand_end_catch_block): Likewise.
618169689Skan	(expand_end_eh_spec): Likewise.
619169689Skan
620169689SkanMon Oct 20 11:44:20 1997  Mark Mitchell  <mmitchell@usa.net>
621169689Skan
622169689Skan	* decl.c (duplicate_decls): Handle template specializations
623169689Skan	correctly.
624169689Skan	* error.c (dump_function_name): Fix printing of specializations of
625169689Skan	member functions that are not member templates.
626169689Skan	* cp-tree.h (processing_specialization): Make global.
627169689Skan	* pt.c (processing_specialization): Likewise.
628169689Skan	* lex.c (cons_up_default_function): Save and restore
629169689Skan	processing_specialization to avoid confusion.
630169689Skan
631169689SkanMon Oct 20 10:52:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
632169689Skan
633169689Skan	* decl.c (init_decl_processing): Give null_node unknown* type.
634169689Skan	* typeck.c (comp_target_types): Handle UNKNOWN_TYPE.
635169689Skan	(common_type): Likewise.
636169689Skan	* error.c (args_as_string): Recognize null_node.
637169689Skan
638169689SkanSun Oct 19 09:13:01 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
639169689Skan
640169689Skan	* typeck.c (rationalize_conditional_expr): Handle {MIN,MAX}_EXPR.
641169689Skan	(unary_complex_lvalue): Call it for {MIN,MAX}_EXPR.
642169689Skan
643169689Skan	* decl.c (init_decl_processing): Call using_eh_for_cleanups.
644169689Skan
645169689Skan	* Make-lang.in (g++): Include prefix.o.
646169689Skan
647169689SkanThu Oct 16 15:31:09 1997  Judy Goldberg  <judygold@sanwafp.com>
648169689Skan
649169689Skan	* pt.c (determine_explicit_specialization): Initialize "dummy"
650169689Skan	to keep Purify quiet.
651169689Skan
652169689SkanThu Oct 16 00:14:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
653169689Skan
654169689Skan	* method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
655169689Skan	(build_overload_int): Not here.
656169689Skan
657169689SkanWed Oct 15 00:35:28 1997  Mike Stump  <mrs@wrs.com>
658169689Skan
659169689Skan	* class.c (build_type_pathname): Remove.
660169689Skan	(prepare_fresh_vtable): Fix problem with complex MI vtable names.
661169689Skan
662169689Skan1997-10-14  Brendan Kehoe  <brendan@lisa.cygnus.com>
663169689Skan
664169689Skan	* parse.y (unary_expr): Give a pedwarn if someone tries to use the
665169689Skan	&&label GNU extension.
666169689Skan
667169689SkanTue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
668169689Skan
669169689Skan	* decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
670169689Skan	so as to avoid incorrect manglings.
671169689Skan	* method.c (build_decl_overload_real): Don't mangle return types
672169689Skan	for constructors.
673169689Skan
674169689SkanTue Oct 14 11:46:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
675169689Skan
676169689Skan	* cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec,
677169689Skan	scratch_tree_cons): Define as macros for now.
678169689Skan	* call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c,
679169689Skan	lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c,
680169689Skan	typeck2.c: Use them and the expression_obstack variants.
681169689Skan
682169689SkanMon Oct 13 17:41:26 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
683169689Skan
684169689Skan	* decl.c (store_return_init): Allow classes with explicit ctors to
685169689Skan	be used with the named return values extension.
686169689Skan
687169689SkanFri Oct 10 12:21:11 1997  Jason Merrill  <jason@yorick.cygnus.com>
688169689Skan
689169689Skan	* pt.c (instantiate_decl): Fix previous change.
690169689Skan
691169689SkanThu Oct  9 12:08:21 1997  Jason Merrill  <jason@yorick.cygnus.com>
692169689Skan
693169689Skan	* pt.c (tsubst): Fix thinko.
694169689Skan	(instantiate_decl): Really use the original template.
695169689Skan
696169689Skan	* call.c (build_new_method_call): Use simple constructor_name for
697169689Skan	error messages.
698169689Skan
699169689SkanWed Oct  8 22:44:42 1997  Jeffrey A Law  <law@cygnus.com>
700169689Skan
701169689Skan	* method.c (build_underscore_int): Don't use ANSI specific
702169689Skan	features.
703169689Skan
704169689SkanWed Oct  8 00:18:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
705169689Skan
706169689Skan	* decl2.c (finish_prevtable_vardecl): Check DECL_REALLY_EXTERN
707169689Skan	for our key method; it might have been inlined by -O3.
708169689Skan
709169689SkanTue Oct  7 23:00:12 1997  Mark Mitchell  <mmitchell@usa.net>
710169689Skan
711169689Skan	* decl.c (make_typename_type): Do not try to call lookup_field for
712169689Skan	non-aggregate types.
713169689Skan
714169689SkanTue Oct  7 22:52:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
715169689Skan
716169689Skan	* typeck.c (build_reinterpret_cast): Tweak.
717169689Skan
718169689SkanTue Oct  7 22:45:31 1997  Alexandre Oliva  <oliva@dcc.unicamp.br>
719169689Skan
720169689Skan	* typeck.c (build_reinterpret_cast): Converting a void pointer
721169689Skan	to function pointer with a reinterpret_cast produces a warning
722169689Skan	if -pedantic is issued.
723169689Skan
724169689SkanTue Oct  7 22:43:43 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
725169689Skan
726169689Skan	* typeck.c (c_expand_return): Don't warn about returning a
727169689Skan	reference-type variable as a reference.
728169689Skan
729169689SkanTue Oct  7 21:11:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
730169689Skan
731169689Skan	* method.c (build_static_name): Fix typo.
732169689Skan
733169689Skan1997-10-07  Brendan Kehoe  <brendan@lisa.cygnus.com>
734169689Skan
735169689Skan	* decl.c (duplicate_decls): Make sure DECL_LANG_SPECIFIC is set on
736169689Skan	OLDDECL before we try to do DECL_USE_TEMPLATE.
737169689Skan
738169689SkanTue Oct  7 00:48:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
739169689Skan
740169689Skan	* decl.c (duplicate_decls): Don't warn about template instances.
741169689Skan
742169689Skan	* typeck.c (mark_addressable): Lose ancient code that unsets
743169689Skan	DECL_EXTERNAL.
744169689Skan
745169689Skan	* pt.c (do_decl_instantiation): Lose support for instantiating
746169689Skan	non-templates.
747169689Skan
748169689Skan	* call.c (build_new_function_call): Fix handling of null explicit
749169689Skan	template args.
750169689Skan	(build_new_method_call): Likewise.
751169689Skan
752169689SkanMon Oct  6 23:44:34 1997  Mark Mitchell  <mmitchell@usa.net>
753169689Skan
754169689Skan	* method.c (build_underscore_int): Fix typo.
755169689Skan
756169689Skan1997-10-06  Brendan Kehoe  <brendan@lisa.cygnus.com>
757169689Skan
758169689Skan	* tree.c (print_lang_statistics): #if 0 call to
759169689Skan	print_inline_obstack_statistics until its definition is checked in.
760169689Skan
761169689SkanMon Oct  6 09:27:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
762169689Skan
763169689Skan	* decl2.c (finish_file): Move dump_tree_statistics to end.
764169689Skan
765169689Skan	* pt.c (instantiate_decl): Look for the original template.
766169689Skan	(tsubst): Set DECL_IMPLICIT_INSTANTIATION on partial instantiations
767169689Skan	of member templates.
768169689Skan
769169689SkanWed Oct  1 08:41:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
770169689Skan
771169689Skan	* Makefile.in (g++FAQ.*): New rules.
772169689Skan	(CONFLICTS): Update.
773169689Skan	* g++FAQ.texi: Moved from libg++.
774169689Skan
775169689Skan	* parse.y (PFUNCNAME): Only specify the type once.
776169689Skan
777169689Skan1997-10-01  Brendan Kehoe  <brendan@lasher.cygnus.com>
778169689Skan
779169689Skan	* lex.c (real_yylex): Clean up the code to fully behave the way
780169689Skan	the c-lex.c parser does for complex and real numbers.
781169689Skan
782169689SkanTue Sep 30 08:51:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
783169689Skan
784169689Skan	* method.c (build_decl_overload_real): Reformat.
785169689Skan
786169689SkanTue Sep 30 00:18:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
787169689Skan
788169689Skan	* method.c (synthesize_method): If at_eof, determine our linkage.
789169689Skan
790169689Skan1997-09-29  Paul Eggert  <eggert@twinsun.com>
791169689Skan
792169689Skan	* lex.c (real_yylex): Treat `$' just like `_', except issue a
793169689Skan	diagnostic if !dollars_in_ident or if pedantic.
794169689Skan
795169689Skan	* lang-specs.h (@c++): -ansi no longer implies -$.
796169689Skan
797169689Skan	* decl2.c (lang_decode_option):
798169689Skan	-traditional and -ansi now do not mess with
799169689Skan	dollars_in_ident.
800169689Skan
801169689SkanMon Sep 29 19:57:51 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
802169689Skan
803169689Skan	* Makefile.in (parse.o, decl.o): Also depend on
804169689Skan	$(srcdir)/../except.h $(srcdir)/../output.h.
805169689Skan	(decl2.o): Also depend on $(srcdir)/../expr.h ../insn-codes.h
806169689Skan	$(srcdir)/../except.h $(srcdir)/../output.h.
807169689Skan	(typeck.o, init.o): Also depend on $(srcdir)/../expr.h
808169689Skan	../insn-codes.h.
809169689Skan
810169689Skan	* call.c, cp-tree.h, decl.c, tree.c: Finish prototyping.
811169689Skan
812169689Skan	* expr.c (cplus_expand_expr): Make it static.
813169689Skan
814169689Skan	* decl2.c, init.c, typeck.c: Include "expr.h".
815169689Skan	(expand_expr): Use proper values when calling the function.
816169689Skan
817169689SkanMon Sep 29 11:05:54 1997  Alexandre Oliva  <oliva@dcc.unicamp.br>
818169689Skan
819169689Skan	* lang-options.h: New -Wold-style-cast flag.
820169689Skan	* cp-tree.h (warn_old_style_cast): New variable.
821169689Skan	* decl2.c (warn_old_style_cast): Likewise.
822169689Skan	(lang_decode_option): Support -Wold-style-cast.
823169689Skan	(reparse_absdcl_as_casts): Produce old-style-cast warning.
824169689Skan
825169689SkanMon Sep 29 09:20:53 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
826169689Skan
827169689Skan	* decl.c (cp_finish_decl): Allow expand_aggr_init to set
828169689Skan	TREE_USED, reset value based on already_used.
829169689Skan
830169689Skan	* init.c (expand_member_init): Revert change.
831169689Skan
832169689SkanMon Sep 29 08:57:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
833169689Skan
834169689Skan	* cp-tree.h, decl.c, decl2.c, pt.c:
835169689Skan	Lose DECL_C_STATIC and DECL_PUBLIC.  Don't pretend statics are public.
836169689Skan
837169689Skan	* decl2.c (lang_decode_option): Add missing ;.
838169689Skan
839169689SkanSat Sep 27 16:22:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
840169689Skan
841169689Skan	* friend.c (do_friend): Disable injection for all template-derived
842169689Skan	decls.
843169689Skan	* decl2.c (lang_decode_option): Handle -fguiding-decls.
844169689Skan	* parse.y (notype_template_declarator): New nonterminal.
845169689Skan	(direct_notype_declarator): Use it.
846169689Skan	(complex_direct_notype_declarator): Likewise.
847169689Skan	(object_template_id): Accept any kind of identifier after TEMPLATE.
848169689Skan	(notype_qualified_id): Don't add template declarators here.
849169689Skan
850169689SkanSat Sep 27 16:21:58 1997  Mark Mitchell  <mmitchell@usa.net>
851169689Skan
852169689Skan	* call.c (add_template_candidate): Add explicit_targs parameter.
853169689Skan	(build_scoped_method_call): Use it.
854169689Skan	(build_overload_call_real): Likewise.
855169689Skan	(build_user_type_conversion_1): Likewise.
856169689Skan	(build_new_function_call): Likewise.
857169689Skan	(build_object_call): Likewise.
858169689Skan	(build_new_op): Likewise.
859169689Skan	(build_new_method_call): Likewise.
860169689Skan	(build_new_function_call): Handle TEMPLATE_ID_EXPR.
861169689Skan	(build_new_method_call): Likewise.
862169689Skan
863169689Skan	* class.c (finish_struct_methods): Add specialization pass to
864169689Skan	determine which methods were specializing which other methods.
865169689Skan	(instantiate_type): Handle TEMPLATE_ID_EXPR.
866169689Skan
867169689Skan	* cp-tree.def (TEMPLATE_ID_EXPR): New tree code.
868169689Skan
869169689Skan	* cp-tree.h (name_mangling_version): New variable.
870169689Skan	(flag_guiding_decls): Likewise.
871169689Skan	(build_template_decl_overload): New function.
872169689Skan	(begin_specialization): Likewise.
873169689Skan	(reset_specialization): Likewise.
874169689Skan	(end_specialization): Likewise.
875169689Skan	(determine_explicit_specialization): Likewise.
876169689Skan	(check_explicit_specialization): Likewise.
877169689Skan	(lookup_template_function): Likewise.
878169689Skan	(fn_type_unification): Add explicit_targs parameter.
879169689Skan	(type_unification): Likewise.
880169689Skan
881169689Skan	* decl.c (duplicate_decls): Add smarts for explicit
882169689Skan	specializations.
883169689Skan	(grokdeclarator): Handle TEMPLATE_ID_EXPR, and function
884169689Skan	specializations.
885169689Skan	(grokfndecl): Call check_explicit_specialization.
886169689Skan
887169689Skan	* decl2.c (lang_decode_option): Handle -fname-mangling-version.
888169689Skan	(build_expr_from_tree): Handle TEMPLATE_ID_EXPR.
889169689Skan	(check_classfn): Handle specializations.
890169689Skan
891169689Skan	* error.c (dump_function_name): Print specialization arguments.
892169689Skan
893169689Skan	* friend.c (do_friend): Don't call pushdecl for template
894169689Skan	instantiations.
895169689Skan
896169689Skan	* init.c (build_member_call): Handle TEMPLATE_ID_EXPR.
897169689Skan
898169689Skan	* lang-options.h: Add -fname-mangling-version, -fguiding-decls,
899169689Skan	and -fno-guiding-decls.
900169689Skan
901169689Skan	* lex.c (identifier_type): Return PFUNCNAME for template function
902169689Skan	names.
903169689Skan
904169689Skan	* method.c (build_decl_overload_real): New function.
905169689Skan	(build_template_parm_names): New function.
906169689Skan	(build_overload_identifier): Use it.
907169689Skan	(build_underscore_int): New function.
908169689Skan	(build_overload_int): Use it.  Add levels for template
909169689Skan	parameters.
910169689Skan	(build_overload_name): Likewise.  Also, handle TYPENAME_TYPEs.
911169689Skan	(build_overload_nested_names): Handle template type parameters.
912169689Skan	(build_template_decl_overload): New function.
913169689Skan
914169689Skan	* parse.y (YYSTYPE): New ntype member.
915169689Skan	(nested_name_specifier): Use it.
916169689Skan	(nested_name_specifier_1): Likewise.
917169689Skan	(PFUNCNAME): New token.
918169689Skan	(template_id, object_template_id): New non-terminals.
919169689Skan	(template_parm_list): Note specializations.
920169689Skan	(template_def): Likewise.
921169689Skan	(structsp): Likewise.
922169689Skan	(fn.def2): Handle member template specializations.
923169689Skan	(component_decl_1): Likewise.
924169689Skan	(direct_notype_declarator): Handle template-ids.
925169689Skan	(component_decl_1): Likewise.
926169689Skan	(direct_notype_declarator): Handle template-ids.
927169689Skan	(primary): Handle TEMPLATE_ID_EXPR, and template-ids.
928169689Skan
929169689Skan	* pt.c (processing_specializations): New variable.
930169689Skan	(template_header_count): Likewise.
931169689Skan	(type_unification_real): New function.
932169689Skan	(processing_explicit_specialization): Likewise.
933169689Skan	(note_template_header): Likewise.
934169689Skan	(is_member_template): Handle specializations.
935169689Skan	(end_template_decl): Call reset_specialization.
936169689Skan	(push_template_decl): Handle member template specializations.
937169689Skan	(tsubst): Likewise.
938169689Skan	(tsubst_copy): Handle TEMPLATE_ID_EXPR.
939169689Skan	(instantiate_template): Handle specializations.
940169689Skan	(instantiate_decl): Likewise.
941169689Skan	(fn_type_unification): Handle explicit_targs.
942169689Skan	(type_unification): Likewise.  Allow incomplete unification
943169689Skan	without an error message, if allow_incomplete.
944169689Skan	(get_bindings): Use new calling sequence for fn_type_unification.
945169689Skan
946169689Skan	* spew.c (yylex): Handle PFUNCNAME.
947169689Skan
948169689Skan	* tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR.
949169689Skan	(really_overloaded_fn): Likewise.
950169689Skan	(get_first_fn): Handle function templates.
951169689Skan
952169689Skan	* typeck.c (build_x_function_call): Use really_overloaded_fn.
953169689Skan	Handle TEMPLATE_ID_EXPR.
954169689Skan	(build_x_unary_op): Likewise.
955169689Skan	(build_unary_op): Likewise.
956169689Skan	(mark_addressable): Templates whose address is taken are marked
957169689Skan	as used.
958169689Skan
959169689Skan1997-09-25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
960169689Skan
961169689Skan	* decl.c (init_decl_processing): Declare __builtin_constant_p as
962169689Skan	accepting any kind of type, not only int.
963169689Skan
964169689SkanFri Sep 26 00:22:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
965169689Skan
966169689Skan	* search.c (get_matching_virtual): Notice virtual bases when sorrying
967169689Skan	about covariant returns.
968169689Skan
969169689Skan	* parse.y (member_init): Also imply typename here.  Remove ancient
970169689Skan	extension for initializing base members.
971169689Skan
972169689SkanThu Sep 25 11:11:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
973169689Skan
974169689Skan	Handle multi-level typenames and implicit typename in base list.
975169689Skan	* parse.y (typename_sub{,[0-2]}): New rules.
976169689Skan	(structsp, rule TYPENAME_KEYWORD): Use typename_sub.
977169689Skan	(nonnested_type): New rule.
978169689Skan	(complete_type_name): Use it.
979169689Skan	(base_class.1): Use typename_sub and nonnested_type.
980169689Skan	(nested_name_specifier): Don't elide std:: here.
981169689Skan	* decl.c (make_typename_type): Handle getting a type for NAME.
982169689Skan	(lookup_name_real): Turn std:: into :: here.
983169689Skan
984169689Skan	Rvalue conversions were removed in London.
985169689Skan	* call.c (is_subseq): Don't consider lvalue transformations.
986169689Skan	(build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK.
987169689Skan	(joust): Re-enable ?: kludge.
988169689Skan
989169689Skan1997-09-22  Brendan Kehoe  <brendan@lisa.cygnus.com>
990169689Skan
991169689Skan	* decl.c (start_function): Up warning of no return type to be a
992169689Skan	pedwarn.
993169689Skan
994169689SkanMon Sep 22 14:15:34 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
995169689Skan
996169689Skan	* init.c (expand_member_init): Don't set TREE_USED.
997169689Skan	* decl.c (cp_finish_decl): Mark decls used if type has TREE_USED
998169689Skan	set,don't clear TREE_USED wholesale.
999169689Skan
1000169689SkanSat Sep 20 15:31:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
1001169689Skan
1002169689Skan	* call.c (build_over_call): Do require_complete_type before
1003169689Skan	build_cplus_new.
1004169689Skan
1005169689SkanThu Sep 18 16:47:52 1997  Jason Merrill  <jason@yorick.cygnus.com>
1006169689Skan
1007169689Skan	* search.c (lookup_field): Call complete_type in all cases.
1008169689Skan
1009169689Skan	* decl.c (finish_function): Just warn about flowing off the end.
1010169689Skan
1011169689SkanWed Sep 17 10:31:25 1997  Jason Merrill  <jason@yorick.cygnus.com>
1012169689Skan
1013169689Skan	* decl.c (grokparms): Don't bash a permanent list node if we're
1014169689Skan	in a function.
1015169689Skan
1016169689Skan1997-09-17  Brendan Kehoe  <brendan@lisa.cygnus.com>
1017169689Skan
1018169689Skan	* Makefile.in (CONFLICTS): Fix s/r conflict count to 18.
1019169689Skan
1020169689SkanTue Sep 16 14:06:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
1021169689Skan
1022169689Skan	* call.c (build_new_op): Give better error for syntactically
1023169689Skan	correct, but semantically invalid, use of undeclared template.
1024169689Skan
1025169689Skan	* call.c (compare_qual): Handle pmfs.
1026169689Skan
1027169689Skan	* decl.c (store_parm_decls): last_parm_cleanup_insn is the insn
1028169689Skan	after the exception spec.
1029169689Skan
1030169689SkanMon Sep 15 11:52:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
1031169689Skan
1032169689Skan	* call.c (null_ptr_cst_p): Integer type, not integral type.
1033169689Skan
1034169689Skan	* call.c (joust): Disable warnings until they can be moved to the
1035169689Skan	right place.
1036169689Skan
1037169689SkanFri Sep 12 16:11:13 1997  Per Bothner  <bothner@cygnus.com>
1038169689Skan
1039169689Skan	* Makefile.in, config-lang.in:  Convert to autoconf.
1040169689Skan
1041169689SkanThu Sep 11 17:14:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
1042169689Skan
1043169689Skan	* decl.c (lookup_name_real): Add implicit 'typename' to types from
1044169689Skan	base classes.
1045169689Skan
1046169689Skan	* pt.c (most_specialized_class): Fix typo.
1047169689Skan	(tsubst): Move constant folding to TREE_VEC case.
1048169689Skan
1049169689SkanThu Sep 11 10:08:45 1997  Mark Mitchell  <mmitchell@usa.net>
1050169689Skan
1051169689Skan	* pt.c (do_poplevel): Don't warn about unused local variables
1052169689Skan	while processing_template_decl since we don't always know whether
1053169689Skan	or not they will need constructing/destructing.
1054169689Skan
1055169689Skan	* pt.c (uses_template_parms): Check the values of an enumeration
1056169689Skan	type to make sure they don't depend on template parms.
1057169689Skan
1058169689Skan	* decl.c (make_typename_type): Don't lookup the field if the
1059169689Skan	context uses template parms, even if we're not
1060169689Skan	processing_template_decl at the moment.
1061169689Skan
1062169689Skan	* pt.c (coerce_template_parms): Avoid looking at the
1063169689Skan	TYPE_LANG_DECL portion of a typename type, since there won't be
1064169689Skan	one.
1065169689Skan	(tsubst): Do constant folding as necessary to make sure that
1066169689Skan	arguments passed to lookup_template_class really are constants.
1067169689Skan
1068169689SkanWed Sep 10 16:39:26 1997  Jim Wilson  <wilson@cygnus.com>
1069169689Skan
1070169689Skan	* Make-lang.in (LN, LN_S): New macros, use where appropriate.
1071169689Skan
1072169689SkanWed Sep 10 11:21:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
1073169689Skan
1074169689Skan	* except.c (expand_builtin_throw): #ifndef DWARF2_UNWIND_INFO.
1075169689Skan	* decl2.c (finish_file): Only register exception tables if we
1076169689Skan	need to.
1077169689Skan
1078169689Skan	* decl.c (init_decl_processing): Add __builtin_[fs]p.
1079169689Skan
1080169689SkanTue Sep  9 19:49:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
1081169689Skan
1082169689Skan	* pt.c (unify): Just return 0 for a TYPENAME_TYPE.
1083169689Skan
1084169689SkanTue Sep  9 17:57:25 1997  Mark Mitchell  <mmitchell@usa.net>
1085169689Skan
1086169689Skan	* error.c (dump_decl): Avoid crashing when presented with a
1087169689Skan	uninitialized constant, as can occur with a template parameter.
1088169689Skan	(dump_expr): Make sure that there are enough levels of
1089169689Skan	current_template_parms before we start diving through them.
1090169689Skan
1091169689Skan1997-09-09  Brendan Kehoe  <brendan@lisa.cygnus.com>
1092169689Skan
1093169689Skan	* typeck.c (build_indirect_ref): Heed FLAG_VOLATILE similar to
1094169689Skan	c-typeck.c.
1095169689Skan
1096169689SkanTue Sep  9 09:36:39 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
1097169689Skan
1098169689Skan	* except.c (expand_throw): Call build_delete for all
1099169689Skan	exception types, not just objects with destructors.
1100169689Skan
1101169689SkanMon Sep  8 02:33:20 1997  Jody Goldberg  <jodyg@idt.net>
1102169689Skan
1103169689Skan	* decl.c (current_local_enum): Remove static.
1104169689Skan	* pt.c (tsubst_enum): Save and restore value of current_local_enum
1105169689Skan	in case template is expanded in enum decl.
1106169689Skan	(instantiate_class_template): Use new tsubst_enum signature.
1107169689Skan	(tsubst_expr): Likewise.
1108169689Skan
1109169689SkanMon Sep  8 01:21:43 1997  Mark Mitchell  <mmitchell@usa.net>
1110169689Skan
1111169689Skan	* pt.c (begin_member_template_processing): Take a function as
1112169689Skan	argument, not a set of template arguments.  Use the template
1113169689Skan	parameters, rather than the arguments.  Handle non-type parameters
1114169689Skan	correctly.  Push a binding level for the parameters so that multiple
1115169689Skan	member templates using the same parameter names can be declared.
1116169689Skan	(end_member_template_processing): Pop the binding level.
1117169689Skan	(push_template_decl): Mark member templates as static when
1118169689Skan	appropriate.
1119169689Skan
1120169689Skan	* lex.c (do_pending_inlines): Pass the function, not its template
1121169689Skan	arguments, to begin_member_template_processing.
1122169689Skan	(process_next_inline): Likewise.
1123169689Skan	(do_pending_defargs): Likewise.
1124169689Skan
1125169689Skan	* error.c (dump_expr): Obtain the correct declaration for a
1126169689Skan	TEMPLATE_CONST_PARM.
1127169689Skan
1128169689Skan	* call.c (add_template_conv_candidate): New function.
1129169689Skan	(build_object_call): Handle member templates, as done in the other
1130169689Skan	build_ functions.
1131169689Skan
1132169689SkanSat Sep  6 10:20:27 1997  Mark Mitchell  <mmitchell@usa.net>
1133169689Skan
1134169689Skan	* decl.c (replace_defag): Undo previous change.
1135169689Skan	* lex.c (do_pending_defargs): Deal with member templates.
1136169689Skan
1137169689Skan	* pt.c (is_member_template): Avoid crashing when passed a
1138169689Skan	non-function argument.
1139169689Skan
1140169689SkanFri Sep  5 17:27:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
1141169689Skan
1142169689Skan	* class.c (grow_method): Remove check for redeclaration.
1143169689Skan
1144169689SkanFri Sep  5 01:37:17 1997  Mark Mitchell  <mmitchell@usa.net>
1145169689Skan
1146169689Skan	* cp-tree.h (INNERMOST_TEMPLATE_PARMS): New macro.
1147169689Skan	(DECL_INNERMOST_TEMPLATE_PARMS): Likewise.
1148169689Skan	(PRIMARY_TEMPLATE_P): Use it.
1149169689Skan	* call.c (build_overload_call_real): Use it.
1150169689Skan	* class.c (instantiate_type): Likewise.
1151169689Skan	* decl.c (decls_match): Likewise.
1152169689Skan	* method.c (build_overload_identifier): Likewise.
1153169689Skan	* pt.c (push_template_decl): Likewise.
1154169689Skan	(classtype_mangled_name): Likewise.
1155169689Skan	(lookup_template_class): Likewise.
1156169689Skan
1157169689Skan	* cp-tree.h (DECL_NTPARMS): Change name from DECL_NT_PARMS to
1158169689Skan	DECL_NTPARMS to conform to usage elsewhere.
1159169689Skan	* call.c (add_template_candidate): Likewise.
1160169689Skan	* class.c (instantiate_type): Likewise.
1161169689Skan	* pt.c (instantiate_template): Likewise.
1162169689Skan	(get_bindings): Likewise.
1163169689Skan
1164169689Skan	* class.c (grow_method): Use DECL_FUNCTION_TEMPLATE_P instead of
1165169689Skan	is_member_template.
1166169689Skan
1167169689Skan	* pt.c (unify): Undo changes to allow multiple levels of template
1168169689Skan	parameters.
1169169689Skan	(type_unification): Likewise.
1170169689Skan	(fn_type_unification): Likewise.
1171169689Skan	(get_class_bindings): Likewise.
1172169689Skan	* cp-tree.h (Likewise).
1173169689Skan
1174169689Skan	* decl.c (replace_defarg): Check that the type of the default
1175169689Skan	parameter does not invlove a template type before complaining
1176169689Skan	about the initialization.
1177169689Skan
1178169689Skan	* error.c (dump_expr): Deal with template constant parameters in
1179169689Skan	member templates correctly.
1180169689Skan
1181169689Skan	* pt.c (is_member_template): Deal with class specializations
1182169689Skan	correctly.
1183169689Skan	(tsubst): Handle "partial instantiation" of member templates
1184169689Skan	correctly.
1185169689Skan
1186169689SkanWed Sep  3 12:30:24 1997  Mark Mitchell  <mmitchell@usa.net>
1187169689Skan
1188169689Skan	* pt.c (type_unification): Change calling sequence to allow for
1189169689Skan	multiple levels of template parameters.
1190169689Skan	(tsubst_expr): Likewise.
1191169689Skan	(tsubst): Likewise.
1192169689Skan	(tsubst_copy): Likewise.
1193169689Skan	(instantiate_template): Likewise.
1194169689Skan	(unify): Likewise.
1195169689Skan	* call.c (build_overload_call_real): Use it.
1196169689Skan	(add_builtin_candidate): Use it.
1197169689Skan	(build_new_method_call): Use it.
1198169689Skan	* class.c (instantiate_type): Use it.
1199169689Skan	* decl.c (grokdeclarator): Use it.
1200169689Skan	* decl2.c (finish_file): Use it.
1201169689Skan	* method.c (build_overload_identifier): Use it.
1202169689Skan
1203169689Skan	* call.c (add_template_candidate):  Add additional parameter for
1204169689Skan	the function return type.  Call fn_type_unification istead of
1205169689Skan	type_unification.
1206169689Skan	(build_user_type_conversion_1): Handle member templates.
1207169689Skan	(build_new_function_call): Likewise.
1208169689Skan	(build_new_op): Likewise.
1209169689Skan	(build_new_method_call): Likewise.
1210169689Skan
1211169689Skan	* class.c (grow_method): Don't give an error message indicating
1212169689Skan	that two member templates with the same name are ambiguous.
1213169689Skan	(finish_struct): Treat member template functions just like member
1214169689Skan	functions.
1215169689Skan
1216169689Skan	* cp-tree.h (check_member_template): Add declaration.
1217169689Skan	(begin_member_template_processing): Likewise.
1218169689Skan	(end_member_template_processing): Likewise.
1219169689Skan	(fn_type_unification): Likewise.
1220169689Skan	(is_member_template): Likewise.
1221169689Skan	(tsubst): Change prototype.
1222169689Skan	(tsubst_expr): Likewise.
1223169689Skan	(tsubst_copy): Likewise.
1224169689Skan	(instantiate_template): Likewise.
1225169689Skan	(get_bindings): Likewise.
1226169689Skan
1227169689Skan	* decl.c (decls_match): Handle multiple levels of template
1228169689Skan	parameters.
1229169689Skan	(pushdecl): Handle template type params just like other type
1230169689Skan	declarations.
1231169689Skan	(push_class_level_binding): Return immediately if the
1232169689Skan	class_binding_level is NULL.
1233169689Skan	(grokfndecl): If check_classfn() returns a member_template, use
1234169689Skan	the result of the template, not the template itself.
1235169689Skan
1236169689Skan	* decl2.c (check_member_template): New function.  Check to see
1237169689Skan	that the entity declared to be a member template can be one.
1238169689Skan	(check_classfn): Allow redeclaration of member template functions
1239169689Skan	with different types; the new functions can be specializations or
1240169689Skan	explicit instantiations.
1241169689Skan
1242169689Skan	* error.c (dump_decl): Handle multiple levels of template
1243169689Skan	parameters.
1244169689Skan	(dump_function_decl): Update to handle function templates.
1245169689Skan
1246169689Skan	* lex.c (do_pending_inlines): Set up template parameter context
1247169689Skan	for member templates.
1248169689Skan	(process_next_inline): Likewise.
1249169689Skan
1250169689Skan	* method.c (build_overload_identifier): Adjust for multiple levels
1251169689Skan	of template parameters.
1252169689Skan
1253169689Skan	* parse.y (fn.def2): Add member templates.
1254169689Skan	(component_decl_1): Likewise.
1255169689Skan
1256169689Skan	* pt.c (begin_member_template_processing): New function.
1257169689Skan	(end_member_template_processing): Likewise.
1258169689Skan	(is_member_template): Likewise.
1259169689Skan	(fn_type_unification): Likewise.
1260169689Skan	(current_template_parms): Return a vector of all the template
1261169689Skan	parms, not just the innermost level of parms.
1262169689Skan	(push_template_decl): Deal with the possibility of member
1263169689Skan	templates.
1264169689Skan	(lookup_template_class): Likewise.
1265169689Skan	(uses_template_parms): Likewise.
1266169689Skan	(tsubst): Modify processing to TEMPLATE_TYPE_PARM and
1267169689Skan	TEMPLATE_CONST_PARM to deal with multiple levels of template
1268169689Skan	arguments.   Add processing of TEMPLATE_DECL to produce new
1269169689Skan	TEMPLATE_DECLs from old ones.
1270169689Skan	(do_decl_instantiation): Handle member templates.
1271169689Skan
1272169689Skan	* search.c (lookup_fnfields_1): Handle member template conversion
1273169689Skan	operators.
1274169689Skan
1275169689Skan	* tree.c (cp_tree_equal): Check the levels, as well as the
1276169689Skan	indices, of TEMPLATE_CONST_PARMs.
1277169689Skan
1278169689Skan	* typeck.c (comptypes): Check the levels, as well as the indices,
1279169689Skan	fo TEMPLATE_TYPE_PARMs.
1280169689Skan	(build_x_function_call): Treat member templates like member
1281169689Skan	functions.
1282169689Skan
1283169689SkanWed Sep  3 11:09:25 1997  Jason Merrill  <jason@yorick.cygnus.com>
1284169689Skan
1285169689Skan	* typeck.c (c_expand_return): Always convert_for_initialization
1286169689Skan	before checking for returning a pointer to local.
1287169689Skan
1288169689Skan	* pt.c (type_unification): If strict and the function parm doesn't
1289169689Skan	use template parms, just compare types.
1290169689Skan
1291169689SkanWed Sep  3 10:35:49 1997  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
1292169689Skan
1293169689Skan	* method.c (build_overloaded_value): Replace direct call
1294169689Skan	to the floating point emulator with REAL_VALUE_TO_DECIMAL macro.
1295169689Skan
1296169689SkanWed Sep  3 00:02:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
1297169689Skan
1298169689Skan	* typeck.c (convert_arguments): Don't arbitrarily choose the first
1299169689Skan	of a set of overloaded functions.
1300169689Skan
1301169689SkanTue Sep  2 12:09:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
1302169689Skan
1303169689Skan	* lex.c (real_yylex): Don't elide __FUNCTION__.
1304169689Skan
1305169689Skan	* method.c (build_overload_value): Add in_template parm.
1306169689Skan	(build_overload_int): Likewise.
1307169689Skan	(build_overload_identifier): Pass it.
1308169689Skan
1309169689Skan	* decl.c (duplicate_decls): Don't bash a previous template
1310169689Skan	definition with a redeclaration.
1311169689Skan
1312169689Skan	* pt.c (unify): float doesn't match double.
1313169689Skan
1314169689Skan	* pt.c (do_type_instantiation): Handle getting a _TYPE or a
1315169689Skan	TYPE_DECL.  Handle getting non-template types.
1316169689Skan	* parse.y (explicit_instantiation): Use typespec instead of
1317169689Skan	aggr template_type.
1318169689Skan
1319169689SkanTue Sep  2 10:27:08 1997  Richard Henderson  <rth@cygnus.com>
1320169689Skan
1321169689Skan	* typeck.c (build_ptrmemfunc1): Clean up ptr->int cast warnings.
1322169689Skan
1323169689SkanMon Sep  1 13:19:04 1997  Eugene Mamchits  <eugin@ips.ras.ru>
1324169689Skan
1325169689Skan	* call.c (add_builtin_candidate): Add missing TREE_TYPE.
1326169689Skan	(compare_ics): Likewise.
1327169689Skan
1328169689SkanMon Sep  1 13:19:04 1997  Jason Merrill  <jason@yorick.cygnus.com>
1329169689Skan
1330169689Skan	* call.c (joust): Warn about choosing one conversion op over
1331169689Skan	another because of 'this' argument when the other return type is
1332169689Skan	better.
1333169689Skan	(source_type): New fn.
1334169689Skan
1335169689Skan	* call.c (build_new_op): Strip leading REF_BIND from first operand
1336169689Skan	to builtin operator.
1337169689Skan
1338169689Skan	* decl2.c (mark_vtable_entries): Mark abort_fndecl as used when we
1339169689Skan	use its RTL.
1340169689Skan
1341169689SkanThu Aug 28 09:45:23 1997  Jason Merrill  <jason@yorick.cygnus.com>
1342169689Skan
1343169689Skan	* call.c (null_ptr_cst_p): Remove support for (void*)0.
1344169689Skan
1345169689SkanWed Aug 27 02:03:34 1997  Jeffrey A Law  <law@cygnus.com>
1346169689Skan
1347169689Skan	* typeck.c (expand_target_expr): Make definition match declaration.
1348169689Skan
1349169689Skan	* class.c (get_basefndecls): Make definition match declaration.
1350169689Skan
1351169689SkanMon Aug 25 14:30:02 1997  Jason Merrill  <jason@yorick.cygnus.com>
1352169689Skan
1353169689Skan	* input.c (sub_getch): Eventually give up and release the input file.
1354169689Skan
1355169689Skan	* decl.c (cp_finish_decl): If #p i/i, put inline statics in the
1356169689Skan	right place.
1357169689Skan
1358169689Skan	* call.c (joust): Tweak message.
1359169689Skan
1360169689SkanSat Aug 23 18:02:59 1997  Mark Mitchell  <mmitchell@usa.net>
1361169689Skan
1362169689Skan	* error.c (type_as_string): Put const/volatile on template type
1363169689Skan	parameters where appropriate.
1364169689Skan
1365169689SkanSat Aug 23 17:47:22 1997  Jeffrey A Law  <law@cygnus.com>
1366169689Skan
1367169689Skan	* call.c (strictly_better): Make arguments unsigned ints.
1368169689Skan
1369169689SkanThu Aug 21 18:48:44 1997  Jason Merrill  <jason@yorick.cygnus.com>
1370169689Skan
1371169689Skan	* lex.c (real_yylex): Refer to __complex instead of complex.
1372169689Skan
1373169689SkanThu Aug 21 22:25:46 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
1374169689Skan
1375169689Skan	* lex.c (real_yylex): Don't use getc directly.
1376169689Skan
1377169689SkanWed Aug 20 17:25:08 1997  Jason Merrill  <jason@yorick.cygnus.com>
1378169689Skan
1379169689Skan	* call.c (is_subseq): Don't try to be clever.
1380169689Skan
1381169689SkanWed Aug 20 03:13:36 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1382169689Skan
1383169689Skan	* parse.y, pt.c: Include "except.h".
1384169689Skan	* call.c, class.c, class.h, cp-tree.h, cvt.c, decl.c, decl2.c,
1385169689Skan	error.c, except.c, expr.c, friend.c, g++spec.c, init.c, input.c,
1386169689Skan	lex.c, lex.h, method.c, parse.y, pt.c, repo.c, rtti.c, search.c,
1387169689Skan	sig.c, spew.c, tree.c, typeck.c, typeck2.c, xref.c: Finish
1388169689Skan	prototyping.
1389169689Skan
1390169689SkanWed Aug 20 01:34:40 1997  Jason Merrill  <jason@yorick.cygnus.com>
1391169689Skan
1392169689Skan	* decl2.c (mark_vtable_entries): Instead of replacing pure
1393169689Skan	virtuals with a reference to __pure_virtual, copy the decl and
1394169689Skan	change the RTL.
1395169689Skan
1396169689SkanTue Aug 19 02:26:07 1997  Jason Merrill  <jason@yorick.cygnus.com>
1397169689Skan
1398169689Skan	* pt.c (lookup_nested_type_by_name): Handle typedef wierdness.
1399169689Skan
1400169689Skan	* typeck2.c (my_friendly_abort): Report bugs to egcs-bugs@cygnus.com.
1401169689Skan
1402169689Skan	* pt.c (instantiate_class_template): Call repo_template_used
1403169689Skan	before finish_prevtable_vardecl.
1404169689Skan
1405169689Skan	* call.c (is_subseq): New fn.
1406169689Skan	(compare_ics): Use it.
1407169689Skan
1408169689Skan	* repo.c (finish_repo): Don't crash on no args.
1409169689Skan
1410169689Skan	* parse.y (named_complex_class_head_sans_basetype): Handle
1411169689Skan	explicit global scope.
1412169689Skan	* decl2.c (handle_class_head): New fn.
1413169689Skan
1414169689Skan	* pt.c (unify): Add CONST_DECL case.
1415169689Skan
1416169689SkanThu Aug 14 10:05:13 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1417169689Skan
1418169689Skan	* rtti.c (permanent_obstack): Fix decl to not be a pointer.
1419169689Skan
1420169689Skan	* cp-tree.h (report_type_mismatch): Add prototype.
1421169689Skan	* call.c (build_overload_call_real): Remove erroneous fourth
1422169689Skan	argument to report_type_mismatch.
1423169689Skan	(build_user_type_conversion_1): Remove erroneous second arg to
1424169689Skan	tourney.
1425169689Skan	(build_new_function_call): Likewise.
1426169689Skan	(build_object_call): Likewise.
1427169689Skan	(build_new_op): Likewise.
1428169689Skan	(build_new_method_call): Likewise.
1429169689Skan
1430169689SkanWed Aug 13 19:19:25 1997  Jason Merrill  <jason@yorick.cygnus.com>
1431169689Skan
1432169689Skan	* error.c (dump_decl): Don't bother processing a function with no
1433169689Skan	DECL_LANG_SPECIFIC.
1434169689Skan
1435169689Skan	* method.c (emit_thunk): Call init_function_start in the macro case.
1436169689Skan
1437169689SkanWed Aug 13 10:46:19 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1438169689Skan
1439169689Skan	* decl2.c (DEFAULT_VTABLE_THUNKS): Define to be 0 if not
1440169689Skan	defined and used to set flag_vtable_thunks.
1441169689Skan
1442169689SkanTue Aug 12 20:13:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
1443169689Skan
1444169689Skan	* parse.y: Don't clear the inlines from their obstack until they've
1445169689Skan	all been processed.
1446169689Skan
1447169689Skan	* decl.c (duplicate_decls): Don't complain about exception
1448169689Skan	specification mismatch if flag_exceptions is off.
1449169689Skan
1450169689SkanMon Aug 11 15:01:56 1997  Marc Lehmann  <pcg@goof.com>
1451169689Skan
1452169689Skan	* Make-lang.in (c++.distclean): Remove g++.c on make distclean.
1453169689Skan
1454169689SkanSun Aug 10 12:06:09 1997  Paul Eggert  <eggert@twinsun.com>
1455169689Skan
1456169689Skan	* cp-tree.h: Replace STDIO_PROTO with PROTO in include files.
1457169689Skan	* cvt.c, error.c, except.c, expr.c, friend.c, init.c, rtti.c:
1458169689Skan	Include <stdio.h> before include files that formerly used STDIO_PROTO.
1459169689Skan
1460169689Skan	* decl.c, g++spec.c, lex.c, method.c, repo.c:
1461169689Skan	Include "config.h" first, as per autoconf manual.
1462169689Skan
1463169689SkanFri Aug  8 11:47:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
1464169689Skan
1465169689Skan	* decl.c (duplicate_decls): Tweak wording.
1466169689Skan	* lex.c (do_pending_defargs): Don't die if we see a default arg
1467169689Skan	that isn't a DEFAULT_ARG.
1468169689Skan	* error.c (dump_expr): Handle DEFAULT_ARG.
1469169689Skan
1470169689Skan	* decl2.c (lang_decode_option): Handle -fhandle-exceptions.
1471169689Skan	* lang-options.h: Add -fhandle-exceptions.
1472169689Skan
1473169689Skan	* class.c (build_vtable): Vtables are artificial.
1474169689Skan	(prepare_fresh_vtable): Likewise.
1475169689Skan
1476169689SkanWed Aug  6 11:02:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
1477169689Skan
1478169689Skan	* cvt.c (ocp_convert): After converting to the target type, set
1479169689Skan	LOOKUP_NO_CONVERSION.
1480169689Skan
1481169689Skan	* call.c (joust): Warn about potentially confusing promotion rules
1482169689Skan	with -Wsign-promo.
1483169689Skan	* cp-tree.h, lang-options.h, decl2.c: Support -Wsign-promo.
1484169689Skan
1485169689SkanTue Aug  5 15:15:07 1997  Michael Meissner  <meissner@cygnus.com>
1486169689Skan
1487169689Skan	* exception.cc: Declare __terminate_func with noreturn attribute.
1488169689Skan
1489169689SkanFri Aug  1 03:18:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
1490169689Skan
1491169689Skan	* parse.y: Break out eat_saved_input, handle errors.
1492169689Skan	(function_try_block): Use compstmt instead of compstmt_or_error.
1493169689Skan
1494169689SkanThu Jul 31 17:14:04 1997  Jason Merrill  <jason@yorick.cygnus.com>
1495169689Skan
1496169689Skan	* tree.c (build_cplus_new): Don't set TREE_ADDRESSABLE.
1497169689Skan
1498169689SkanFri Jul  4 01:45:16 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1499169689Skan
1500169689Skan	* Make-lang.in (cplib2.txt, cplib2.ready): Instead of checking for
1501169689Skan	existence of cc1plus check whether $(LANGUAGES) contains C++.
1502169689Skan
1503169689SkanWed Jul 30 13:04:21 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1504169689Skan
1505169689Skan	* method.c (do_build_copy_constructor): When copying an anonymous
1506169689Skan	union member loop around to handle nested anonymous unions.  Use
1507169689Skan	the offset of the member relative to the outer structure, not the
1508169689Skan	union.
1509169689Skan
1510169689SkanTue Jul 29 21:17:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
1511169689Skan
1512169689Skan	* call.c (resolve_args): New fn.
1513169689Skan	(build_new_function_call): Use it.
1514169689Skan	(build_object_call): Likewise.
1515169689Skan	(build_new_method_call): Likewise.
1516169689Skan
1517169689SkanMon Jul 28 16:02:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
1518169689Skan
1519169689Skan	* call.c (build_over_call): tsubst all default parms from templates.
1520169689Skan
1521169689SkanWed Jul 23 13:36:25 1997  Jason Merrill  <jason@yorick.cygnus.com>
1522169689Skan
1523169689Skan	* decl.c (struct cp_function): Add static_labelno.
1524169689Skan	(push_cp_function_context): Save it.
1525169689Skan	(pop_cp_function_context): Restore it.
1526169689Skan
1527169689SkanTue Jul 22 14:43:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
1528169689Skan
1529169689Skan	* typeck.c (build_component_ref_1): Convert from reference.
1530169689Skan
1531169689SkanTue Jul 22 11:06:23 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1532169689Skan
1533169689Skan	* parse.y (current_declspecs, prefix_attributes): Initialize to
1534169689Skan	NULL_TREE.
1535169689Skan
1536169689Skan	* parse.y (initdcl0): Make sure CURRENT_DECLSPECS is non-nil
1537169689Skan	before we try to force it to be a TREE_LIST.
1538169689Skan	(decl): Make sure $1.t is non-nil.
1539169689Skan
1540169689SkanSun Jul 20 11:53:07 1997  Jason Merrill  <jason@yorick.cygnus.com>
1541169689Skan
1542169689Skan	* pt.c (uses_template_parms): Handle template first-parse codes.
1543169689Skan
1544169689Skan	* decl.c (cp_finish_decl): Only warn about user-defined statics.
1545169689Skan
1546169689SkanFri Jul 18 17:56:08 1997  Jason Merrill  <jason@yorick.cygnus.com>
1547169689Skan
1548169689Skan	* pt.c (unify): Handle BOOLEAN_TYPE.
1549169689Skan
1550169689Skan	* cp-tree.h: Lose PARM_DEFAULT_FROM_TEMPLATE.
1551169689Skan	* pt.c (tsubst): Don't set it.
1552169689Skan	* call.c (build_over_call): Use uses_template_parms.
1553169689Skan
1554169689SkanThu Jul 17 18:06:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
1555169689Skan
1556169689Skan	* method.c (build_overload_nested_name): Use static_labelno
1557169689Skan	instead of var_labelno.
1558169689Skan	(build_qualified_name): New fn.
1559169689Skan	(build_overload_name): Split out from here.
1560169689Skan	(build_static_name): Use build_qualified_name.
1561169689Skan	* decl.c (cp_finish_decl): Statics in extern inline functions
1562169689Skan	have comdat linkage.
1563169689Skan	(start_function): Initialize static_labelno.
1564169689Skan
1565169689SkanThu Jul 17 11:20:17 1997  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
1566169689Skan
1567169689Skan	* class.c (finish_struct_methods): Add check of warn_ctor_dtor_privacy
1568169689Skan	before "all member functions in class [] are private".
1569169689Skan
1570169689SkanWed Jul 16 23:47:08 1997  Jason Merrill  <jason@yorick.cygnus.com>
1571169689Skan
1572169689Skan	* lex.c (do_scoped_id): convert_from_reference.
1573169689Skan	* init.c (build_offset_ref): Likewise.
1574169689Skan
1575169689SkanWed Jul 16 12:34:29 1997  Benjamin Kosnik  <bkoz@lisa.cygnus.com>
1576169689Skan
1577169689Skan	* error.c (dump_expr): Check TREE_OPERAND before dump_expr_list.
1578169689Skan
1579169689SkanMon Jul 14 03:23:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
1580169689Skan
1581169689Skan	* typeck.c (get_member_function_from_ptrfunc): Promote index
1582169689Skan	before saving it.
1583169689Skan
1584169689SkanSun Jul 13 00:11:52 1997  Jason Merrill  <jason@yorick.cygnus.com>
1585169689Skan
1586169689Skan	* tree.c (layout_basetypes): Move non-virtual destructor warning.
1587169689Skan	* decl.c (xref_basetypes): Remove non-virtual destructor warning.
1588169689Skan
1589169689SkanSat Jul 12 12:47:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
1590169689Skan
1591169689Skan	* decl.c (grokdeclarator): Call add_defarg_fn for the function
1592169689Skan	type, too.
1593169689Skan	* lex.c (add_defarg_fn): Adjust.
1594169689Skan	(do_pending_defargs): Adjust.  Don't skip the first parm.
1595169689Skan
1596169689SkanFri Jul 11 01:39:50 1997  Jason Merrill  <jason@yorick.cygnus.com>
1597169689Skan
1598169689Skan	* decl.c (build_enumerator): Global enumerators are also readonly.
1599169689Skan
1600169689Skan	* rtti.c (build_dynamic_cast_1): Renamed from build_dynamic_cast.
1601169689Skan	(build_dynamic_cast): Call it and convert_from_reference.
1602169689Skan
1603169689Skan	* lex.c (add_defarg_fn): New fn.
1604169689Skan	(snarf_defarg): Don't add to defarg_types.
1605169689Skan	(do_pending_defargs): Lose defarg_types.  All fns we process now
1606169689Skan	have defargs.
1607169689Skan	* decl.c (grokfndecl): Call add_defarg_fn.
1608169689Skan
1609169689Skan	* Makefile.in (CONFLICTS): Expect 18 s/r conflicts.
1610169689Skan	* cp-tree.def: Add DEFAULT_ARG.
1611169689Skan	* spew.c (yylex): Call snarf_defarg as appropriate.
1612169689Skan	* parse.y: New tokens DEFARG and DEFARG_MARKER.
1613169689Skan	(defarg_again, pending_defargs, defarg, defarg1): New rules.
1614169689Skan	(structsp): Use pending_defargs.
1615169689Skan	(parms, full_parm): Use defarg.
1616169689Skan	* lex.c (init_lex): Initialize inline_text_firstobj.
1617169689Skan	(do_pending_inlines): Never pass the obstack to feed_input.
1618169689Skan	(process_next_inline): Call end_input instead of restore_pending_input.
1619169689Skan	(clear_inline_text_obstack, reinit_parse_for_expr, do_pending_defargs,
1620169689Skan	finish_defarg, feed_defarg, snarf_defarg, maybe_snarf_defarg): New fns.
1621169689Skan	* input.c (end_input): New fn.
1622169689Skan	(sub_getch): At the end of some fed input, just keep returning EOF
1623169689Skan	until someone calls end_input.
1624169689Skan	Remove 'obstack' field from struct input_source.
1625169689Skan	* decl.c (grokparms): Handle DEFAULT_ARG.
1626169689Skan	(replace_defarg): New fn.
1627169689Skan	* cp-tree.h (DEFARG_LENGTH, DEFARG_POINTER): New macros.
1628169689Skan
1629169689SkanWed Jul  9 13:44:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
1630169689Skan
1631169689Skan	* call.c (implicit_conversion): If nothing else works, try binding
1632169689Skan	an rvalue to a reference.
1633169689Skan
1634169689SkanWed Jul  9 13:04:38 1997  Geoffrey Noer  <noer@cygnus.com>
1635169689Skan
1636169689Skan	* decl.c (init_decl_processing): Fix Jun 30 patch -- move
1637169689Skan	ifndef for Cygwin32 to include SIGSEGV.
1638169689Skan
1639169689SkanThu Jul  3 01:44:05 1997  Jason Merrill  <jason@yorick.cygnus.com>
1640169689Skan
1641169689Skan	* class.c (finish_struct_1): Only complain about pointers without
1642169689Skan	copy stuff if there are any constructors.
1643169689Skan
1644169689Skan	* rtti.c (build_dynamic_cast): Call complete_type on the types.
1645169689Skan
1646169689Skan	* decl.c (grokfndecl): If the function we chose doesn't actually
1647169689Skan	match, die.
1648169689Skan
1649169689Skan	* decl2.c (grokclassfn): Don't specify 'const int' for the
1650169689Skan	artificial destructor parm.
1651169689Skan
1652169689Skan	* pt.c (type_unification): If we are called recursively, nothing
1653169689Skan	decays.
1654169689Skan
1655169689SkanMon Jun 30 17:53:21 1997  Geoffrey Noer  <noer@cygnus.com>
1656169689Skan
1657169689Skan	* decl.c (init_decl_processing): Stop trying to catch signals
1658169689Skan	other than SIGABRT since the Cygwin32 library doesn't support
1659169689Skan	them correctly yet.  This fixes a situation in which g++ causes
1660169689Skan	a hang on SIGSEGVs and other such signals in our Win32-hosted
1661169689Skan	tools.
1662169689Skan
1663169689SkanMon Jun 30 14:50:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
1664169689Skan
1665169689Skan	* tree.c (mapcar, case CALL_EXPR): Handle all the parse node data.
1666169689Skan
1667169689SkanFri Jun 27 15:18:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
1668169689Skan
1669169689Skan	* typeck2.c (store_init_value): Always return the value if our
1670169689Skan	type needs constructing.
1671169689Skan
1672169689Skan	* method.c (hack_identifier): Convert class statics from
1673169689Skan	reference, too.
1674169689Skan
1675169689SkanThu Jun 26 11:44:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
1676169689Skan
1677169689Skan	* Make-lang.in (cplib2.ready): Add $(LANGUAGES) dependency.
1678169689Skan
1679169689SkanThu Jun 19 16:49:28 1997  Mike Stump  <mrs@cygnus.com>
1680169689Skan
1681169689Skan	* typeck.c (c_expand_return): Make sure we clean up temporaries at
1682169689Skan	the end of return x;
1683169689Skan
1684169689SkanThu Jun 19 12:28:43 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1685169689Skan
1686169689Skan	* lex.c (check_for_missing_semicolon): Also check for CV_QUALIFIER.
1687169689Skan
1688169689SkanTue Jun 17 18:35:57 1997  Mike Stump  <mrs@cygnus.com>
1689169689Skan
1690169689Skan	* except.c (expand_builtin_throw): Add support
1691169689Skan	-fno-sjlj-exceptions -fPIC exception handling on the SPARC.
1692169689Skan
1693169689SkanMon Jun 16 01:24:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
1694169689Skan
1695169689Skan	* repo.c (extract_string): Null-terminate.
1696169689Skan
1697169689Skan	* cp-tree.h (TI_SPEC_INFO): New macro.
1698169689Skan	(CLASSTYPE_TI_SPEC_INFO): New macro.
1699169689Skan	* pt.c (push_template_decl): Correctly determine # of template parms
1700169689Skan	for partial specs.
1701169689Skan
1702169689Skan	* call.c (compare_ics): Really fix 'this' conversions.
1703169689Skan
1704169689Skan	* pt.c (do_decl_instantiation): Don't crash on explicit inst of
1705169689Skan	non-template fn.
1706169689Skan
1707169689Skan	* pt.c (push_template_decl): Complain about mismatch in # of
1708169689Skan	template parms between a class template and a member template.
1709169689Skan
1710169689SkanSun Jun 15 02:38:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
1711169689Skan
1712169689Skan	* method.c (synthesize_method): You can't call
1713169689Skan	function_cannot_inline_p after finish_function.
1714169689Skan	* decl.c (finish_function): Turn on flag_inline_functions and turn
1715169689Skan	off DECL_INLINE before handing a synthesized method to the
1716169689Skan	backend.
1717169689Skan
1718169689SkanThu Jun 12 17:35:28 1997  Jason Merrill  <jason@yorick.cygnus.com>
1719169689Skan
1720169689Skan	* method.c (synthesize_method): Remove July 30 change to never set
1721169689Skan	DECL_INLINE if at_eof.
1722169689Skan
1723169689SkanThu Jun 12 15:25:08 1997  Mike Stump  <mrs@cygnus.com>
1724169689Skan
1725169689Skan	* xref.c (GNU_xref_member): Ensure that the node has a
1726169689Skan	decl_lang_specific part before checking DECL_FRIEND_P.
1727169689Skan
1728169689SkanThu Jun 12 12:36:05 1997  Jason Merrill  <jason@yorick.cygnus.com>
1729169689Skan
1730169689Skan	* pt.c (instantiate_class_template): Diagnose non-class types used
1731169689Skan	as bases.
1732169689Skan
1733169689SkanWed Jun 11 17:33:40 1997  Jason Merrill  <jason@yorick.cygnus.com>
1734169689Skan
1735169689Skan	* typeck.c (build_conditional_expr): Use convert_for_initialization
1736169689Skan	instead of convert_and_check.
1737169689Skan
1738169689SkanWed Jun 11 12:31:33 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1739169689Skan
1740169689Skan	* parse.y (typespec): Don't pedwarn for typeof.
1741169689Skan
1742169689SkanTue Jun 10 00:22:09 1997  Jason Merrill  <jason@yorick.cygnus.com>
1743169689Skan
1744169689Skan	* repo.c (finish_repo): Only check changes if we would write a
1745169689Skan	repo file.
1746169689Skan
1747169689Skan	* call.c (compare_ics): Fix handling of 'this' conversions.
1748169689Skan
1749169689Skan	* pt.c (do_decl_instantiation): Support static data too.  Rename
1750169689Skan	from do_function_instantiation.
1751169689Skan	* cp-tree.h: Adjust.
1752169689Skan	* parse.y: Adjust.
1753169689Skan
1754169689Skan	* repo.c (extract_string): New fn.
1755169689Skan	(get_base_filename): Use it.
1756169689Skan	(init_repo): Compare old args with current args.
1757169689Skan
1758169689SkanMon Jun  9 14:25:30 1997  Mike Stump  <mrs@cygnus.com>
1759169689Skan
1760169689Skan	* Makefile.in, Make-lang.in: Protect C-ls with a comment
1761169689Skan	character, idea from Paul Eggert <eggert@twinsun.com>.
1762169689Skan
1763169689SkanMon Jun  9 01:52:03 1997  Jason Merrill  <jason@yorick.cygnus.com>
1764169689Skan
1765169689Skan	* typeck.c (c_expand_return): Be more persistent in looking for
1766169689Skan	returned temps.
1767169689Skan
1768169689Skan	* cvt.c (build_up_reference): Use NOP_EXPR for switching from
1769169689Skan	pointer to reference.
1770169689Skan
1771169689Skan	* class.c (build_vbase_path): Don't do anything if PATH has no steps.
1772169689Skan
1773169689SkanSun Jun  8 03:07:05 1997  Jason Merrill  <jason@yorick.cygnus.com>
1774169689Skan
1775169689Skan	* init.c (build_member_call, build_offset_ref):
1776169689Skan	Use do_scoped_id instead of do_identifier.
1777169689Skan
1778169689Skan	* cvt.c (convert): Remove bogosity.
1779169689Skan
1780169689SkanSat Jun  7 20:50:17 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1781169689Skan
1782169689Skan	* cvt.c (build_up_reference): Do checks of ARGTYPE and
1783169689Skan	TARGET_TYPE before trying to use get_binfo.
1784169689Skan
1785169689SkanFri Jun  6 17:36:39 1997  Jason Merrill  <jason@yorick.cygnus.com>
1786169689Skan
1787169689Skan	* cvt.c (build_up_reference): Call get_binfo to get access control.
1788169689Skan
1789169689Skan	* decl2.c (import_export_decl): If we don't support weaks, leave
1790169689Skan	statics undefined.
1791169689Skan
1792169689SkanFri Jun  6 15:55:49 1997  Mike Stump  <mrs@cygnus.com>
1793169689Skan
1794169689Skan	* except.c (expand_builtin_throw): Add support for machines that
1795169689Skan	cannot access globals after throw's epilogue when
1796169689Skan	-fno-sjlj-exceptions is used.
1797169689Skan
1798169689SkanThu Jun  5 16:28:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
1799169689Skan
1800169689Skan	* parse.y: 'std::' becomes '::'.
1801169689Skan	* lex.c (real_yylex): Remove 'namespace' warning.
1802169689Skan	* init.c (build_member_call): Ignore 'std::'.
1803169689Skan	(build_offset_ref): Likewise.
1804169689Skan	* decl2.c (do_using_directive): Ignore 'using namespace std;'.
1805169689Skan	(do_toplevel_using_decl): Ignore 'using std::whatever'.
1806169689Skan	* decl.c (push_namespace): Just sorry.
1807169689Skan	(pop_namespace): Nop.
1808169689Skan	(init_decl_processing): Declare std namespace.
1809169689Skan
1810169689SkanTue Jun  3 18:08:23 1997  Jason Merrill  <jason@yorick.cygnus.com>
1811169689Skan
1812169689Skan	* search.c (push_class_decls): A name which ambiguously refers to
1813169689Skan	several instantiations of the same template just refers to the
1814169689Skan	template.
1815169689Skan
1816169689SkanTue Jun  3 12:30:40 1997  Benjamin Kosnik  <bkoz@cirdan.cygnus.com>
1817169689Skan
1818169689Skan	* decl.c (build_enumerator): Fix problem with unsigned long
1819169689Skan	enumerated values being smashed to ints, causing overflow
1820169689Skan	when computing next enumerated value (for enum values around
1821169689Skan	MAX_VAL).
1822169689Skan
1823169689SkanMon Jun  2 17:40:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
1824169689Skan
1825169689Skan	* typeck.c (build_component_ref): Only call mark_used on a decl.
1826169689Skan
1827169689SkanThu May 29 15:54:17 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1828169689Skan
1829169689Skan	* typeck.c (build_c_cast): Make the check for a ptr to function
1830169689Skan	more specific before possible default_conversion call.
1831169689Skan
1832169689SkanThu May 29 13:02:06 1997  Mike Stump  <mrs@cygnus.com>
1833169689Skan
1834169689Skan	* except.c (expand_exception_blocks): Simplify and fix and make
1835169689Skan	sure we don't end a region in a sequence, as expand_end_bindings
1836169689Skan	doesn't like it.
1837169689Skan
1838169689SkanWed May 28 17:08:03 1997  Mike Stump  <mrs@cygnus.com>
1839169689Skan
1840169689Skan	* except.c (init_exception_processing): Mark terminate as not
1841169689Skan	returning so that the optimizer can optimize better.
1842169689Skan
1843169689SkanTue May 27 19:49:19 1997  Mike Stump  <mrs@cygnus.com>
1844169689Skan
1845169689Skan	* cvt.c (convert): Don't do any extra work, if we can avoid it
1846169689Skan	easily.
1847169689Skan
1848169689SkanTue May 27 18:21:47 1997  Mike Stump  <mrs@cygnus.com>
1849169689Skan
1850169689Skan	* *.[chy]: Change cp_convert to ocp_convert, change convert to
1851169689Skan	cp_convert.  convert is now reserved for the backend, and doesn't
1852169689Skan	have the semantics a frontend person should ever want.
1853169689Skan
1854169689SkanFri May 23 10:58:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
1855169689Skan
1856169689Skan	* lang-specs.h: Define __EXCEPTIONS if exceptions are enabled.
1857169689Skan	Lose -traditional support.
1858169689Skan
1859169689SkanThu May 22 15:41:28 1997  Jason Merrill  <jason@yorick.cygnus.com>
1860169689Skan
1861169689Skan	* rtti.c (get_tinfo_var): Use TYPE_PRECISION (sizetype).
1862169689Skan
1863169689Skan	* parse.y (self_reference): Do it for templates, too.
1864169689Skan	* class.c (pushclass): Don't overload_template_name; the alias
1865169689Skan	generated by build_self_reference serves the same purpose.
1866169689Skan
1867169689Skan	* tree.c (list_hash): Make static, take more args.
1868169689Skan	(list_hash_lookup): Likewise.
1869169689Skan	(list_hash_add): Make static.
1870169689Skan	(list_hash_canon): Lose.
1871169689Skan	(hash_tree_cons): Only build a new node if one isn't already in the
1872169689Skan	hashtable.
1873169689Skan	(hash_tree_chain): Use hash_tree_cons.
1874169689Skan	* cp-tree.h: Adjust.
1875169689Skan	* decl.c (grokfndecl): Just check IDENTIFIER_GLOBAL_VALUE instead
1876169689Skan	of calling lookup_name.
1877169689Skan
1878169689SkanWed May 21 18:24:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
1879169689Skan
1880169689Skan	* pt.c (instantiate_class_template): TYPE_VALUES for an enum
1881169689Skan	doesn't refer to the CONST_DECLs.
1882169689Skan
1883169689SkanTue May 20 21:09:32 1997  Bob Manson  <manson@charmed.cygnus.com>
1884169689Skan
1885169689Skan	* rtti.c (get_tinfo_var): Either INT_TYPE_SIZE or 32, whichever
1886169689Skan	is bigger.
1887169689Skan	(expand_class_desc): Convert the last argument to a sizetype.
1888169689Skan
1889169689SkanTue May 20 13:55:57 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1890169689Skan
1891169689Skan	* gxx.gperf (__complex, __complex__, __imag, __imag__, __real,
1892169689Skan	__real__): Add reswords.
1893169689Skan	* hash.h: Regenerate.
1894169689Skan	* lex.h (rid): Add RID_COMPLEX.
1895169689Skan	(RID_LAST_MODIFIER): Set to RID_COMPLEX.
1896169689Skan	* lex.c (init_lex): Add building of RID_COMPLEX.
1897169689Skan	(real_yylex): General cleanup in line with what c-lex.c also has,
1898169689Skan	sans the cruft for traditional; add handling of SPEC_IMAG, complex
1899169689Skan	types, and imaginary numeric constants.
1900169689Skan	* parse.y (REALPART, IMAGPART): Add tokens.
1901169689Skan	(unary_expr): Add REALPART and IMAGPART rules.
1902169689Skan	* cp-tree.h (complex_{integer,float,double,long}_type_node): Declare.
1903169689Skan	* decl.c (complex_{integer,float,double,long}_type_node): Define
1904169689Skan	types.
1905169689Skan	(init_decl_processing): Set up the types.
1906169689Skan	(grokdeclarator): Add handling of RID_COMPLEX.  Set and use
1907169689Skan	DEFAULTED_INT instead of EXPLICIT_INT when we default to int type.
1908169689Skan	* call.c (build_new_op): Add REALPART_EXPR and IMAGPART_EXPR cases.
1909169689Skan	* cvt.c (cp_convert): Handle COMPLEX_TYPE.
1910169689Skan	* error.c (dump_type_prefix, dump_type, dump_type_suffix): Add
1911169689Skan	COMPLEX_TYPE case.
1912169689Skan	* method.c (build_overload_name): Add handling of the different
1913169689Skan	COMPLEX_TYPEs, prefixing them with `J'.
1914169689Skan	* pt.c (process_template_parm): Don't let them use a COMPLEX_TYPE
1915169689Skan	as a template parm.
1916169689Skan	(uses_template_parms, tsubst, unify): Add COMPLEX_TYPE case.
1917169689Skan	* tree.c (lvalue_p): Add REALPART_EXPR and IMAGPART_EXPR cases.
1918169689Skan	(mapcar): Handle COMPLEX_CST.
1919169689Skan	* typeck.c (build_binary_op_nodefault): Handle COMPLEX_TYPE.
1920169689Skan	(common_type): Add code for complex types.
1921169689Skan	(build_unary_op): Add REALPART_EXPR and IMAGPART_EXPR cases.
1922169689Skan	(convert_for_assignment): Likewise.
1923169689Skan	(mark_addressable): Add REALPART_EXPR and IMAGPART_EXPR cases.
1924169689Skan
1925169689SkanMon May 19 12:26:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
1926169689Skan
1927169689Skan	* pt.c (tsubst): Don't pass the MINUS_EXPR for an array domain to
1928169689Skan	tsubst_expr, as it might try to do overload resolution.
1929169689Skan
1930169689SkanSat May 17 10:48:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
1931169689Skan
1932169689Skan	* pt.c (instantiate_class_template): Oops.
1933169689Skan
1934169689SkanFri May 16 14:23:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
1935169689Skan
1936169689Skan	* cp-tree.def: Add TAG_DEFN.
1937169689Skan	* pt.c (tsubst_enum): New fn.
1938169689Skan	(instantiate_class_template): Use it.
1939169689Skan	(tsubst_expr): Support TAG_DEFN.
1940169689Skan	(tsubst): Support local enums.
1941169689Skan	(tsubst_copy): Likewise.
1942169689Skan	* decl.c (finish_enum): Likewise.
1943169689Skan	(start_enum): If this is a local enum, switch to permanent_obstack.
1944169689Skan
1945169689SkanWed May 14 19:08:28 1997  Mike Stump  <mrs@cygnus.com>
1946169689Skan
1947169689Skan	* decl.c (store_parm_decls): Set last_parm_cleanup_insn here.
1948169689Skan	(finish_function): Put the base init code for constructors just
1949169689Skan	after the parm cleanup insns.
1950169689Skan	(struct cp_function): Add last_parm_cleanup_insn.
1951169689Skan	(push_cp_function_context): Likewise.
1952169689Skan	(pop_cp_function_context): Likewise.
1953169689Skan
1954169689SkanTue May 13 15:51:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
1955169689Skan
1956169689Skan	* pt.c (tsubst_copy): Handle BIT_NOT_EXPR.
1957169689Skan
1958169689SkanWed May  7 11:17:59 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1959169689Skan
1960169689Skan	* method.c (emit_thunk) [ASM_OUTPUT_MI_THUNK]: Build up the RTL
1961169689Skan	for THUNK_FNDECL before we switch to temporary allocation.
1962169689Skan
1963169689SkanMon May  5 14:46:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
1964169689Skan
1965169689Skan	* call.c (build_new_op): Handle null arg2 for ?:.
1966169689Skan
1967169689SkanThu May  1 18:26:37 1997  Mike Stump  <mrs@cygnus.com>
1968169689Skan
1969169689Skan	* except.c (expand_exception_blocks): Ensure that we flow through
1970169689Skan	the end of the exception region for the exception specification.
1971169689Skan	Move exception region for the exception specification in, so that
1972169689Skan	it doesn't protect the parm cleanup.  Remove some obsolete code.
1973169689Skan	* decl.c (store_parm_decls): Likewise.
1974169689Skan	(finish_function): Likewise.
1975169689Skan
1976169689SkanTue Apr 29 15:38:54 1997  Jason Merrill  <jason@yorick.cygnus.com>
1977169689Skan
1978169689Skan	* init.c (build_new): Fix nothrow handling.
1979169689Skan
1980169689SkanTue Apr 29 14:29:50 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1981169689Skan
1982169689Skan	* init.c (emit_base_init): Don't warn about the initialization
1983169689Skan	list for an artificial member.
1984169689Skan
1985169689SkanFri Apr 25 17:47:59 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1986169689Skan
1987169689Skan	* expr.c (do_case): Handle !START case for the error msg.
1988169689Skan
1989169689SkanFri Apr 25 11:55:23 1997  Jason Merrill  <jason@yorick.cygnus.com>
1990169689Skan
1991169689Skan	* decl2.c, lang-options.h: New option -Weffc++.
1992169689Skan	* class.c, decl.c, init.c, typeck.c: Move Effective C++ warnings
1993169689Skan	to -Weffc++.
1994169689Skan
1995169689Skan	* decl2.c (finish_prevtable_vardecl): Change NO_LINKAGE_HEURISTICS
1996169689Skan	to MULTIPLE_SYMBOL_SPACES.
1997169689Skan
1998169689SkanWed Apr 23 18:06:50 1997  Jason Merrill  <jason@yorick.cygnus.com>
1999169689Skan
2000169689Skan	* method.c (emit_thunk, generic case): Set current_function_is_thunk.
2001169689Skan
2002169689Skan	* method.c (emit_thunk, macro case): Set up DECL_RESULT.
2003169689Skan
2004169689Skan	* typeck.c (c_expand_return): Don't complain about returning void
2005169689Skan	to void in an artificial function.
2006169689Skan	* method.c (make_thunk): Change settings of READONLY/VOLATILE,
2007169689Skan	don't set DECL_RESULT, set DECL_ARTIFICIAL.
2008169689Skan	(emit_thunk, generic code): Also set up DECL_LANG_SPECIFIC.
2009169689Skan
2010169689SkanWed Apr 23 14:43:06 1997  Mike Stump  <mrs@cygnus.com>
2011169689Skan
2012169689Skan	* init.c (init_decl_processing): Add support for setjmp/longjmp based
2013169689Skan	exception handling.
2014169689Skan	* except.c (init_exception_processing): Likewise.
2015169689Skan	(expand_end_catch_block): Likewise.
2016169689Skan	(expand_exception_blocks): Likewise.
2017169689Skan	(expand_throw): Likewise.
2018169689Skan	* exception.cc (__default_terminate): Likewise.
2019169689Skan
2020169689Skan	* init.c (perform_member_init): Use new method of expr level
2021169689Skan	cleanups, instead of cleanups_this_call and friends.
2022169689Skan	(emit_base_init): Likewise.
2023169689Skan	(expand_aggr_vbase_init_1): Likewise.
2024169689Skan	(expand_vec_init): Likewise.
2025169689Skan	* decl.c (cp_finish_decl): Likewise.
2026169689Skan	(expand_static_init): Likewise.
2027169689Skan	(store_parm_decls): Likewise.
2028169689Skan	(cplus_expand_expr_stmt): Likewise.
2029169689Skan	* decl2.c (finish_file): Likewise.
2030169689Skan
2031169689Skan	* Make-lang.in (exception.o): Ok to compile with -O now.
2032169689Skan
2033169689Skan	* decl.c (maybe_build_cleanup_1): We no longer have to unsave, as
2034169689Skan	we know it will be done later by the backend.
2035169689Skan
2036169689Skan	* decl2.c (lang_f_options): Remove support for short temps.
2037169689Skan	* lang-options.h: Likewise.
2038169689Skan
2039169689SkanWed Apr 23 04:12:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
2040169689Skan
2041169689Skan	* tree.c (varargs_function_p): New fn.
2042169689Skan	* method.c (emit_thunk): Replace broken generic code with code to
2043169689Skan	generate a heavyweight thunk function.
2044169689Skan
2045169689SkanTue Apr 22 02:45:18 1997  Jason Merrill  <jason@yorick.cygnus.com>
2046169689Skan
2047169689Skan	* pt.c (process_template_parm): pedwarn about floating-point parms.
2048169689Skan
2049169689Skan	* decl.c (grokdeclarator): inline no longer implies static.
2050169689Skan
2051169689Skan	* spew.c (yylex): Always return the TYPE_DECL if we got a scope.
2052169689Skan
2053169689SkanMon Apr 21 15:42:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
2054169689Skan
2055169689Skan	* class.c (check_for_override): The signature of an overriding
2056169689Skan	function is not changed.
2057169689Skan
2058169689Skan	* call.c (build_over_call): Move setting of conv into the loop.
2059169689Skan	Note: this change, along with the related changes of the 18th thru
2060169689Skan	the 20th of April, fix an infinite loop problem in conversions.
2061169689Skan
2062169689SkanSun Apr 20 16:24:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
2063169689Skan
2064169689Skan	* call.c (build_user_type_conversion_1): Really ignore rvalue
2065169689Skan	conversions when looking for a REFERENCE_TYPE.
2066169689Skan
2067169689Skan	* cvt.c (build_up_reference): Eviscerate, use build_unary_op.
2068169689Skan	* cp-tree.h (TREE_REFERENCE_EXPR): #if 0.
2069169689Skan	* typeck.c (decay_conversion): Don't set TREE_REFERENCE_EXPR.
2070169689Skan	(build_unary_op): Likewise.
2071169689Skan	* call.c (build_over_call): See through a CONVERT_EXPR around the
2072169689Skan	ADDR_EXPR for on a temporary.
2073169689Skan	* typeck.c (c_expand_return): See through a CONVERT_EXPR around
2074169689Skan	the ADDR_EXPR for a local variable.
2075169689Skan
2076169689SkanFri Apr 18 12:11:33 1997  Jason Merrill  <jason@yorick.cygnus.com>
2077169689Skan
2078169689Skan	* call.c (build_user_type_conversion_1): If we're trying to
2079169689Skan	convert to a REFERENCE_TYPE, only consider lvalue conversions.
2080169689Skan	(build_new_function_call): Print candidates.
2081169689Skan	(implicit_conversion): Try a temp binding if the lvalue conv is BAD.
2082169689Skan	(reference_binding): Binding a temporary of a reference-related type
2083169689Skan	is BAD.
2084169689Skan
2085169689SkanThu Apr 17 14:37:22 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2086169689Skan
2087169689Skan	* inc/typeinfo (type_info::before): Add cv-qualifier-seq.
2088169689Skan	* tinfo2.cc (type_info::before): Likewise.
2089169689Skan
2090169689SkanMon Apr 14 12:38:17 1997  Jason Merrill  <jason@yorick.cygnus.com>
2091169689Skan
2092169689Skan	* call.c (implicit_conversion): Oops.
2093169689Skan
2094169689SkanFri Apr 11 02:18:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
2095169689Skan
2096169689Skan	* call.c (implicit_conversion): Try to find a reference conversion
2097169689Skan	before binding a const reference to a temporary.
2098169689Skan
2099169689SkanWed Apr  2 12:51:36 1997  Mike Stump  <mrs@cygnus.com>
2100169689Skan
2101169689Skan	* exception.cc (__default_unexpected): Call terminate by default,
2102169689Skan	so that if the user overrides terminate, the correct function will
2103169689Skan	be called.
2104169689Skan
2105169689SkanWed Mar 19 14:14:45 1997  Mike Stump  <mrs@cygnus.com>
2106169689Skan
2107169689Skan	* parse.y (left_curly): Avoid trying to use any fields of
2108169689Skan	error_mark_node, as there aren't any.
2109169689Skan
2110169689SkanThu Mar 13 16:33:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
2111169689Skan
2112169689Skan	* lex.c (do_identifier): Avoid breaking on overloaded methods
2113169689Skan	as default arguments.
2114169689Skan
2115169689SkanWed Mar 12 13:55:10 1997  Hans-Peter Nilsson  <Hans-Peter.Nilsson@axis.se>
2116169689Skan
2117169689Skan	* call.c (add_template_candidate): Initialize the variable "dummy".
2118169689Skan
2119169689SkanMon Mar 10 15:13:14 1997  Brendan Kehoe  <brendan@canuck.cygnus.com>
2120169689Skan
2121169689Skan	* decl.c (start_decl): Make sure TYPE isn't an error_mark_node
2122169689Skan	before we try to use TYPE_SIZE and TREE_CONSTANT on it.
2123169689Skan
2124169689SkanFri Mar  7 13:19:36 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2125169689Skan
2126169689Skan	* cp-tree.h (comp_ptr_ttypes, more_specialized): Add decl.
2127169689Skan	(debug_binfo): Delete decl, not needed.
2128169689Skan
2129169689Skan	* tree.c (fnaddr_from_vtable_entry, function_arg_chain,
2130169689Skan	promotes_to_aggr_type): Delete fns.
2131169689Skan	* cp-tree.h (FNADDR_FROM_VTABLE_ENTRY,
2132169689Skan	SET_FNADDR_FROM_VTABLE_ENTRY, FUNCTION_ARG_CHAIN,
2133169689Skan	PROMOTES_TO_AGGR_TYPE): Delete alternates to #if 1.
2134169689Skan
2135169689Skan	* decl.c (pending_invalid_xref{,_file,_line}): Delete unused vars.
2136169689Skan
2137169689Skan	* friend.c (is_friend_type): Delete fn.
2138169689Skan	* cp-tree.h (is_friend_type): Delete decl.
2139169689Skan
2140169689Skan	* decl.c (original_result_rtx, double_ftype_double,
2141169689Skan	double_ftype_double_double, int_ftype_int, long_ftype_long,
2142169689Skan	float_ftype_float, ldouble_ftype_ldouble, last_dtor_insn): Make static.
2143169689Skan	* typeck.c (original_result_rtx, warn_synth): Delete extern decls.
2144169689Skan
2145169689Skan	* decl.c (push_overloaded_decl{,_top_level}): Make static, adding
2146169689Skan	fwd decls.
2147169689Skan	* cp-tree.h (push_overloaded_decl{,_top_level}): Delete decls.
2148169689Skan
2149169689Skan	* decl.c (pushdecl_nonclass_level): #if 0, unused.
2150169689Skan	* cp-tree.h (pushdecl_nonclass_level): #if 0 decl.
2151169689Skan
2152169689Skan	* lex.c (reinit_lang_specific): #if 0, unused.
2153169689Skan	* cp-tree.h (reinit_lang_specific): #if 0 decl.
2154169689Skan
2155169689Skan	* decl.c (revert_static_member_fn): Make static, adding fwd decl.
2156169689Skan	* cp-tree.h (revert_static_member_fn): Delete decl.
2157169689Skan
2158169689Skan	* class.c (root_lang_context_p): Delete fn.
2159169689Skan	* cp-tree.h (root_lang_context_p): Delete decl.
2160169689Skan
2161169689Skan	* decl.c (set_current_level_tags_transparency): #if 0, unused.
2162169689Skan	* cp-tree.h (set_current_level_tags_transparency): #if 0 decl.
2163169689Skan
2164169689Skan	* lex.c (set_vardecl_interface_info): Make static.
2165169689Skan	* cp-tree.h (set_vardecl_interface_info): Delete decl.
2166169689Skan
2167169689Skan	* call.c (find_scoped_type): Make static.
2168169689Skan	* cp-tree.h (find_scoped_type): Delete decl.
2169169689Skan
2170169689Skan	* search.c (convert_pointer_to_vbase): Make static.
2171169689Skan	* cp-tree.h (convert_pointer_to_vbase): Delete decl.
2172169689Skan
2173169689Skan	* decl.c (const_ptr_type_node): Likewise.
2174169689Skan	* cp-tree.h (const_ptr_type_node): Delete decl.
2175169689Skan
2176169689Skan	* typeck.c (common_base_type): Make static.
2177169689Skan	* cp-tree.h (common_base_types): Delete erroneous decl.
2178169689Skan
2179169689Skan	* pt.c (classtype_mangled_name): Make static.
2180169689Skan	* cp-tree.h (classtype_mangled_name): Delete decl.
2181169689Skan
2182169689Skan	* lex.c (check_newline): Make static.
2183169689Skan	* cp-tree.h (check_newline): Delete decl.
2184169689Skan
2185169689Skan	* typeck.c (build_x_array_ref): Delete fn, same idea as
2186169689Skan	grok_array_decl.
2187169689Skan	* cp-tree.h (build_x_array_ref): Delete decl.
2188169689Skan
2189169689Skan	* lex.c (copy_decl_lang_specific): Delete fn, same idea as
2190169689Skan	copy_lang_decl.
2191169689Skan	* cp-tree.h (copy_decl_lang_specific): #if 0 decl.
2192169689Skan
2193169689Skan	* class.c (build_vtable_entry): Make static.
2194169689Skan	* cp-tree.h (build_vtable_entry): Delete decl.
2195169689Skan
2196169689Skan	* class.c (build_vbase_pointer): Make static.
2197169689Skan	* cp-tree.h (build_vbase_pointer): Delete decl.
2198169689Skan
2199169689Skan	* sig.c (build_sptr_ref): Add forward decl and make static.
2200169689Skan	* cp-tree.h (build_sptr_ref): Delete decl.
2201169689Skan
2202169689Skan	* call.c (build_new_method_call): Add forward decl and make static.
2203169689Skan	* cp-tree.h (build_new_method_call): Delete decl.
2204169689Skan
2205169689Skan	* call.c (build_object_call): Make static.
2206169689Skan	* class.c (check_for_override, complete_type_p, mark_overriders):
2207169689Skan	Likewise.
2208169689Skan	* decl.c (cp_function_chain): Likewise.
2209169689Skan	* lex.c (set_typedecl_interface_info, reinit_parse_for_block):
2210169689Skan	Likewise.
2211169689Skan	* pt.c (comp_template_args, get_class_bindings, push_tinst_level):
2212169689Skan	Likewise.
2213169689Skan	* tree.c (build_cplus_array_type_1): Likewise.
2214169689Skan	* typeck.c (comp_ptr_ttypes_{const,real,reinterpret}): Likewise.
2215169689Skan	(comp_target_parms): Likewise.
2216169689Skan
2217169689Skan	* init.c (build_builtin_call): Make static.
2218169689Skan	* cp-tree.h (build_builtin_call): Delete decl.
2219169689Skan
2220169689Skan	* typeck.c (binary_op_error): Delete decl.
2221169689Skan	* cp-tree.h (binary_op_error): Likewise.
2222169689Skan
2223169689SkanThu Mar  6 16:13:52 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2224169689Skan
2225169689Skan	* call.c (build_method_call): Compare against error_mark_node
2226169689Skan	directly, rather than the ERROR_MARK tree code.
2227169689Skan	* cvt.c (cp_convert): Likewise.
2228169689Skan	* decl.c (print_binding_level): Likewise.
2229169689Skan	(duplicate_decls): Likewise.
2230169689Skan	(grokdeclarator): Likewise.
2231169689Skan	(grokdeclarator): Likewise.
2232169689Skan	* init.c (expand_aggr_init_1): Likewise.
2233169689Skan	(decl_constant_value): Likewise.
2234169689Skan	* method.c (build_opfncall): Likewise.
2235169689Skan	(hack_identifier): Likewise.
2236169689Skan	* typeck.c (build_modify_expr): Likewise.
2237169689Skan
2238169689Skan	* typeck.c (build_c_cast): Don't decl TYPE as register tree.
2239169689Skan
2240169689SkanSun Mar  2 02:54:36 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2241169689Skan
2242169689Skan	* pt.c (unify): Strip NOP_EXPR wrappers before unifying integer values.
2243169689Skan
2244169689Skan	* pt.c (coerce_template_parms): Add new error message.
2245169689Skan
2246169689Skan	* method.c (build_overload_value): Implement name mangling for
2247169689Skan	floating-point template arguments.
2248169689Skan
2249169689Skan	* method.c (build_overload_int, icat, dicat): Fix mangling of template
2250169689Skan	arguments whose absolute value doesn't fit in a signed word.
2251169689Skan
2252169689SkanMon Mar  3 12:14:54 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2253169689Skan
2254169689Skan	* friend.c: New file; put all of the friend stuff in here.
2255169689Skan	* init.c: Instead of here.
2256169689Skan	* Makefile.in (CXX_OBJS): Add friend.o.
2257169689Skan	(friend.o): Add dependencies.
2258169689Skan	* Make-lang.in (CXX_SRCS): Add $(srcdir)/cp/friend.c.
2259169689Skan
2260169689SkanSun Mar  2 11:04:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
2261169689Skan
2262169689Skan	* call.c (build_scoped_method_call): Complain if the scope isn't a
2263169689Skan	base.
2264169689Skan
2265169689SkanWed Feb 26 11:31:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
2266169689Skan
2267169689Skan	* parse.y (left_curly): Don't crash on erroneous type.
2268169689Skan
2269169689Skan	* init.c (build_delete): Fix type of ref.
2270169689Skan
2271169689SkanTue Feb 25 12:41:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
2272169689Skan
2273169689Skan	* search.c (get_vbase_1): Renamed from get_vbase.
2274169689Skan	(get_vbase): Wrapper, now non-static.
2275169689Skan	(convert_pointer_to_vbase): Now static.
2276169689Skan
2277169689Skan	* call.c (build_scoped_method_call): Accept a binfo for BASETYPE.
2278169689Skan	* init.c (build_delete): Pass one.
2279169689Skan	(build_partial_cleanup_for): Use build_scoped_method_call.
2280169689Skan	* decl.c (finish_function): Pass a binfo.
2281169689Skan
2282169689SkanMon Feb 24 15:00:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
2283169689Skan
2284169689Skan	* call.c (build_over_call): Only synthesize non-trivial copy ctors.
2285169689Skan
2286169689Skan	* typeck.c (build_c_cast): Lose other reference to flag.
2287169689Skan
2288169689Skan	* call.c (build_field_call): Don't look for [cd]tor_identifier.
2289169689Skan	* decl2.c (delete_sanity): Remove meaningless use of
2290169689Skan	LOOKUP_HAS_IN_CHARGE.
2291169689Skan	* decl.c (finish_function): Use build_scoped_method_call instead
2292169689Skan	of build_delete for running vbase dtors.
2293169689Skan	* init.c (build_delete): Call overload resolution code instead of
2294169689Skan	duplicating it badly.
2295169689Skan
2296169689SkanThu Feb 20 15:12:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
2297169689Skan
2298169689Skan	* call.c (build_over_call): Call mark_used before trying to elide
2299169689Skan	the call.
2300169689Skan
2301169689Skan	* decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
2302169689Skan
2303169689SkanWed Feb 19 11:18:53 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2304169689Skan
2305169689Skan	* typeck.c (build_modify_expr): Always pedwarn for a cast to
2306169689Skan	non-reference used as an lvalue.
2307169689Skan
2308169689SkanWed Feb 19 10:35:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
2309169689Skan
2310169689Skan	* cvt.c (cp_convert_to_pointer): Convert from 0 to a pmf properly.
2311169689Skan
2312169689SkanTue Feb 18 15:40:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
2313169689Skan
2314169689Skan	* parse.y (handler): Fix template typo.
2315169689Skan
2316169689SkanSun Feb 16 02:12:28 1997  Jason Merrill  <jason@yorick.cygnus.com>
2317169689Skan
2318169689Skan	* error.c (lang_decl_name): New fn.
2319169689Skan	* tree.c (lang_printable_name): Use it.
2320169689Skan
2321169689SkanFri Feb 14 16:57:05 1997  Mike Stump  <mrs@cygnus.com>
2322169689Skan
2323169689Skan	* g++spec.c: Include config.h so that we can catch bzero #defines
2324169689Skan	from the config file.
2325169689Skan
2326169689SkanTue Feb 11 13:50:48 1997  Mike Stump  <mrs@cygnus.com>
2327169689Skan
2328169689Skan	* new1.cc: Include a declaration for malloc, to avoid warning, and
2329169689Skan	avoid lossing on systems that require one (ones that define malloc
2330169689Skan	in xm.h).
2331169689Skan
2332169689SkanMon Feb 10 22:51:13 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2333169689Skan
2334169689Skan	* decl2.c (max_tinst_depth): New variable.
2335169689Skan	(lang_decode_option): Parse "-ftemplate-depth-NN" command line
2336169689Skan	option.
2337169689Skan	* pt.c (max_tinst_depth): Variable moved.
2338169689Skan	* lang-options.h: Declare "-ftemplate-depth-NN" command line option
2339169689Skan	as legal.
2340169689Skan
2341169689SkanFri Feb  7 15:43:34 1997  Jason Merrill  <jason@yorick.cygnus.com>
2342169689Skan
2343169689Skan	* decl.c (xref_basetypes): Allow a base class that depends on
2344169689Skan	template parms to be incomplete.
2345169689Skan
2346169689Skan	* decl2.c (build_expr_from_tree): Support typeid(type).
2347169689Skan	* rtti.c (get_typeid): Support templates.
2348169689Skan	(expand_si_desc, expand_class_desc): Fix string length.
2349169689Skan	(expand_ptr_desc, expand_attr_desc, expand_generic_desc): Likewise.
2350169689Skan
2351169689SkanTue Feb  4 11:28:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
2352169689Skan
2353169689Skan	* pt.c (unify, case TEMPLATE_CONST_PARM): Use cp_tree_equal.
2354169689Skan
2355169689Skan	* pt.c (tsubst): Put it back for -fno-ansi-overloading.
2356169689Skan
2357169689SkanMon Feb  3 18:41:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
2358169689Skan
2359169689Skan	* pt.c (tsubst, case FUNCTION_DECL): Lose obsolete code that
2360169689Skan	smashes together template and non-template decls of the same
2361169689Skan	signature.
2362169689Skan
2363169689SkanThu Jan 30 19:18:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
2364169689Skan
2365169689Skan	* pt.c (tsubst): Don't recurse for the type of a TYPENAME_TYPE.
2366169689Skan
2367169689SkanWed Jan 29 11:40:35 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2368169689Skan
2369169689Skan	* decl.c (duplicate_decls): Next route, pedwarn about different
2370169689Skan	exceptions if -pedantic *or* olddecl !DECL_IN_SYSTEM_HEADER.
2371169689Skan
2372169689SkanTue Jan 28 20:43:29 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2373169689Skan
2374169689Skan	* cp-tree.h (HAS_DEFAULT_IMPLEMENTATION): Delete macro.
2375169689Skan	(struct lang_type): Delete has_default_implementation member.
2376169689Skan	Increase dummy to 21.
2377169689Skan	* decl.c (start_method): Delete usage.
2378169689Skan
2379169689Skan	* cp-tree.h (build_call, null_ptr_cst_p, in_function_p,
2380169689Skan	store_after_parms, start_decl_1, auto_function): Add decls.
2381169689Skan	(get_arglist_len_in_bytes, declare_implicit_exception,
2382169689Skan	have_exceptions_p, make_type_decl, typedecl_for_tag,
2383169689Skan	store_in_parms, pop_implicit_try_blocks, push_exception_cleanup,
2384169689Skan	build_component_type_expr, cplus_exception_name,
2385169689Skan	{make,clear}_anon_parm_name, dont_see_typename): Removed decls.
2386169689Skan	* call.c (build_this): Make static.
2387169689Skan	(is_complete): Likewise.
2388169689Skan	(implicit_conversion): Likewise.
2389169689Skan	(reference_binding): Likewise.
2390169689Skan	(standard_conversion): Likewise.
2391169689Skan	(strip_top_quals): Likewise.
2392169689Skan	(non_reference): Likewise.
2393169689Skan	(build_conv): Likewise.
2394169689Skan	(user_harshness): Likewise.
2395169689Skan	(rank_for_ideal): Likewise.
2396169689Skan	* decl.c (start_decl_1): Delete forward decl.
2397169689Skan	(push_decl_level): Make static.
2398169689Skan	(resume_binding_level): Make static.
2399169689Skan	(namespace_bindings_p): Make static.
2400169689Skan	(declare_namespace_level): Make static.
2401169689Skan	(lookup_name_real): Make static.
2402169689Skan	(duplicate_decls): Make static.  Take register off NEWDECL and
2403169689Skan	OLDDECL parm decls.
2404169689Skan	* decl2.c (get_sentry): Make static.
2405169689Skan	(temp_name_p): Delete fn.
2406169689Skan	* except.c (auto_function): Delete decl.
2407169689Skan	* lex.c (handle_{cp,sysv}_pragma): Make static.
2408169689Skan	(handle_sysv_pragma) [HANDLE_SYSV_PRAGMA]: Add forward decl.
2409169689Skan	* method.c (do_build_{copy_constructor,assign_ref}): Make static.
2410169689Skan	* pt.c (tsubst_expr_values): Make static.
2411169689Skan	* rtti.c (combine_strings): Delete decl.
2412169689Skan
2413169689SkanTue Jan 28 16:40:40 1997  Jason Merrill  <jason@yorick.cygnus.com>
2414169689Skan
2415169689Skan	* pt.c (push_template_decl): Handle getting a typedef.
2416169689Skan
2417169689Skan	* call.c (build_new_function_call): Complain about void arg.
2418169689Skan
2419169689SkanTue Jan 28 15:25:09 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2420169689Skan
2421169689Skan	* decl.c (duplicate_decls): Give pedwarn of different exceptions
2422169689Skan	if -pedantic, instead of olddecl !DECL_IN_SYSTEM_HEADER.
2423169689Skan
2424169689SkanMon Jan 27 19:21:29 1997  Mike Stump  <mrs@cygnus.com>
2425169689Skan
2426169689Skan	* except.c (expand_throw): Don't expand the cleanup tree here,
2427169689Skan	since we are not going to write the rtl out.  Fixes problem with
2428169689Skan	-g -O on SPARC.
2429169689Skan
2430169689SkanMon Jan 27 16:24:35 1997  Sean McNeil  <sean@mcneil.com>
2431169689Skan
2432169689Skan	* Make-lang.in: Add $(exeext) as necessary.
2433169689Skan
2434169689SkanMon Jan 27 13:20:39 1997  Mike Stump  <mrs@cygnus.com>
2435169689Skan
2436169689Skan	* parse.y (handler_seq): Must have at least one catch clause.
2437169689Skan
2438169689SkanSat Jan 25 12:00:05 1997  Jason Merrill  <jason@yorick.cygnus.com>
2439169689Skan
2440169689Skan	* call.c (add_builtin_candidate): Restore ?: hack.
2441169689Skan
2442169689Skan	* decl.c (grok_op_properties): More warnings.
2443169689Skan
2444169689SkanSat Jan 25 08:50:03 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2445169689Skan
2446169689Skan	* decl.c (duplicate_decls): On second thought, do it as a pedwarn
2447169689Skan	still but only if !DECL_IN_SYSTEM_HEADER (olddecl).
2448169689Skan
2449169689Skan	* decl.c (duplicate_decls): Scale back to a warning, and only do
2450169689Skan	'em if -pedantic.
2451169689Skan
2452169689SkanFri Jan 24 17:52:54 1997  Mike Stump  <mrs@cygnus.com>
2453169689Skan
2454169689Skan	* decl.c (duplicate_decls): pedwarn mismatched exception
2455169689Skan	specifications.
2456169689Skan
2457169689SkanThu Jan 23 18:18:54 1997  Mike Stump  <mrs@cygnus.com>
2458169689Skan
2459169689Skan	* call.c (build_new_method_call): Don't display the invisible
2460169689Skan	argument for controlling virtual bases.
2461169689Skan
2462169689SkanThu Jan 23 16:48:10 1997  Mike Stump  <mrs@cygnus.com>
2463169689Skan
2464169689Skan	* new: Add nothrow new and delete, bad_alloc and throw specifications
2465169689Skan	for delete.
2466169689Skan	* decl.c (init_decl_processing): Add throw specification for delete.
2467169689Skan	* new.cc (nothrow): Define.
2468169689Skan	* lex.c (real_yylex): Removing warning that throw and friends are
2469169689Skan	keywords.
2470169689Skan	* new1.cc (operator new (size_t sz, const nothrow_t&)): Define.
2471169689Skan	* new2.cc (operator new[] (size_t sz, const nothrow_t&): Define.
2472169689Skan	* Make-lang.in: Add new{1,2}.{cc,o}.
2473169689Skan
2474169689SkanThu Jan 23 16:39:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
2475169689Skan
2476169689Skan	* lex.c (cons_up_default_function): Fix return type of synth op=.
2477169689Skan
2478169689Skan	* init.c (emit_base_init): Add warnings for uninitialized members
2479169689Skan	and bases.
2480169689Skan
2481169689Skan	* decl.c (xref_basetypes): Add warning for non-polymorphic type
2482169689Skan	with destructor used as base type.
2483169689Skan
2484169689Skan	* decl.c (grok_op_properties): Add warning for op= returning void.
2485169689Skan	* typeck.c (c_expand_return): Add warning for op= returning anything
2486169689Skan	other than *this.
2487169689Skan
2488169689Skan	* class.c (finish_struct_1): Add warning for class with pointers
2489169689Skan	but not copy ctor or copy op=.
2490169689Skan
2491169689Skan	* cp-tree.h (TI_PENDING_TEMPLATE_FLAG): New macro.
2492169689Skan	* pt.c (add_pending_template): Use it instead of LANG_FLAG_0.
2493169689Skan	(instantiate_template): If -fexternal-templates, add this
2494169689Skan	instantiation to pending_templates.
2495169689Skan
2496169689Skan	* decl2.c (copy_assignment_arg_p): Disable old hack to support
2497169689Skan	Booch components.
2498169689Skan
2499169689SkanTue Jan 21 18:32:04 1997  Mike Stump  <mrs@cygnus.com>
2500169689Skan
2501169689Skan	* cvt.c (cp_convert): pedwarn enum to pointer conversions.
2502169689Skan
2503169689SkanMon Jan 20 17:59:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
2504169689Skan
2505169689Skan	* call.c (standard_conversion): Handle getting references.  Tack
2506169689Skan	on RVALUE_CONV here.  Do it for non-class types, too.
2507169689Skan	(reference_binding): Pass references to standard_conversion.
2508169689Skan	(implicit_conversion): Likewise.
2509169689Skan	(add_builtin_candidate): Disable one ?: kludge.
2510169689Skan	(convert_like): Handle RVALUE_CONVs for non-class types.
2511169689Skan	(joust): Disable the other ?: kludge.
2512169689Skan
2513169689SkanMon Jan 20 14:53:13 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2514169689Skan
2515169689Skan	* decl.c (init_decl_processing): Add code to build up common
2516169689Skan	function types beforehand, to avoid creation then removal of
2517169689Skan	things already in the hash table.
2518169689Skan
2519169689SkanMon Jan 20 14:43:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
2520169689Skan
2521169689Skan	* decl.c (finish_function): Also zero out DECL_INCOMING_RTL for
2522169689Skan	the arguments.
2523169689Skan
2524169689Skan	* error.c (dump_expr, TEMPLATE_CONST_PARM): Don't require
2525169689Skan	current_template_parms.
2526169689Skan
2527169689SkanFri Jan 17 10:25:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
2528169689Skan
2529169689Skan	* search.c (lookup_field): Don't return a function, check want_type.
2530169689Skan
2531169689SkanThu Jan 16 18:14:35 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2532169689Skan
2533169689Skan	* init.c (build_new): Make sure PLACEMENT has a type.
2534169689Skan
2535169689SkanThu Jan 16 17:40:28 1997  Jason Merrill  <jason@yorick.cygnus.com>
2536169689Skan
2537169689Skan	* init.c (build_new): Support new (nothrow).
2538169689Skan
2539169689SkanWed Jan 15 12:38:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
2540169689Skan
2541169689Skan	* pt.c (instantiate_decl): Also do push_to_top_level before setting
2542169689Skan	up DECL_INITIAL.
2543169689Skan
2544169689Skan	* cp-tree.h (PARM_DEFAULT_FROM_TEMPLATE): New macro.
2545169689Skan	* pt.c (tsubst): Defer instantiation of default args.
2546169689Skan	* call.c (build_over_call): Until here.
2547169689Skan
2548169689SkanWed Jan 15 10:08:10 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2549169689Skan
2550169689Skan	* search.c (lookup_field): Make sure we have an
2551169689Skan	IDENTIFIER_CLASS_VALUE before we try to return it.
2552169689Skan
2553169689SkanThu Jan  9 07:19:01 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2554169689Skan
2555169689Skan	* call.c (build_method_call): Delete unused var PARM.
2556169689Skan	(build_overload_call_real): Likewise.
2557169689Skan	(build_object_call): Delete unused var P.
2558169689Skan	(build_new_op): Likewise.
2559169689Skan	* decl.c (builtin_type_tdescs_{arr, len, max}): #if 0 out static
2560169689Skan	var definitions, which are never used.
2561169689Skan	(shadow_tag): Delete unused var FN.
2562169689Skan	* expr.c (cplus_expand_expr): Delete unused var ORIGINAL_TARGET.
2563169689Skan	* init.c (build_new): Delete unused var ALLOC_TEMP.
2564169689Skan	* method.c (hack_identifier): Delete unused var CONTEXT.
2565169689Skan	(do_build_copy_constructor): Delete unused var NAME.
2566169689Skan	(synthesize_method): Delete unused var BASE.
2567169689Skan	* pt.c (lookup_template_class): Delete unused var CODE_TYPE_NODE.
2568169689Skan	* rtti.c (build_headof): Delete unused var VPTR.
2569169689Skan	(get_typeid): Delete unused var T.
2570169689Skan	* typeck.c (build_conditional_expr): Delete unused vars ORIG_OP1
2571169689Skan	and ORIG_OP2.
2572169689Skan	(build_ptrmemfunc): Delete unused vars U and NINDEX.
2573169689Skan	* typeck2.c (build_functional_cast): Delete unused var BINFO.
2574169689Skan
2575169689SkanWed Jan  8 13:09:54 1997  Jason Merrill  <jason@yorick.cygnus.com>
2576169689Skan
2577169689Skan	* search.c (lookup_field): Use IDENTIFIER_CLASS_VALUE to look up
2578169689Skan	things in a type being defined.
2579169689Skan	* decl.c (finish_enum): Reverse the values so that they are in
2580169689Skan	the correct order.
2581169689Skan
2582169689Skan	* pt.c (instantiate_class_template): Don't initialize
2583169689Skan	BINFO_BASETYPES until the vector is filled out.
2584169689Skan	(unify): Don't abort on conflicting bindings, just fail.
2585169689Skan	(instantiate_decl): Do push_tinst_level before any tsubsting.
2586169689Skan
2587169689Skan	* method.c (build_overload_value): Handle getting a
2588169689Skan	TEMPLATE_CONST_PARM for a pointer.
2589169689Skan
2590169689SkanTue Jan  7 14:00:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
2591169689Skan
2592169689Skan	* init.c (expand_member_init): Don't give 'not a base' error for
2593169689Skan	templates.
2594169689Skan
2595169689Skan	* pt.c (instantiate_decl): Call import_export_decl later.
2596169689Skan
2597169689Skan	* pt.c (instantiate_class_template): Return a value.
2598169689Skan
2599169689Skan	* parse.y (extension): New rule for __extension__.
2600169689Skan	(extdef, unary_expr, decl, component_decl): Use it.
2601169689Skan
2602169689SkanTue Jan  7 09:20:28 1997  Mike Stump  <mrs@cygnus.com>
2603169689Skan
2604169689Skan	* class.c (base_binfo): Remove unused base_has_virtual member.
2605169689Skan	(finish_base_struct): Likewise.
2606169689Skan	(finish_struct_1): Likewise.
2607169689Skan
2608