1Tue Dec 28 21:10:03 1993  Mike Stump  <mrs@cygnus.com>
2
3	* cp-init.c (expand_vec_init): Remove comptypes test, as it is too
4	harsh here.
5
6Tue Dec 28 13:42:22 1993  Mike Stump  <mrs@cygnus.com>
7
8	* cp-pt.c (do_pending_expansions): Decide to expand a template
9	member function, based upon it's class type, not the class type of
10	the first place it was declared.
11
12Tue Dec 28 05:42:31 1993  Mike Stump  <mrs@cygnus.com>
13
14	* cp-class.c (is_normal): New routine, use to determine when the
15	given binfo is the normal one.  (The one that should have the simple
16	vtable name.)
17	* cp-class.c (modify_other_vtable_entries): Use DECL_ASSEMBLER_NAME
18	to check if two fndecls are `the same'.  Sometimes this routine can
19	modify the main vtable, and normal should be 1, in that case, so use
20	is_normal() to determine if this is the main vtable for the class.
21	Don't recurse down virtual bases, as they are shared, and we take
22	care of them elsewhere.
23	* cp-class.c (modify_vtable_entries): If we have already updated the
24	vtable with the new virtual, don't do it again.
25	* cp-class.c (finish_struct): Set CLASSTYPE_VFIELD_PARENT as
26	appropriate.  Do virtual function overriding in virtual bases, after
27	normal overriding, so that the base function list in DECL_VINDEX is
28	not overridden, before we have a chance to run through the list.
29	Use DECL_ASSEMBLER_NAME to check if two fndecls are `the same'.
30	Make sure we pass the right address into modify_vtable_entries.
31	* cp-tree.h (CLASSTYPE_VFIELD_PARENT): New field to indicate which
32	binfo is the one that has the vtable that we based our vtable on.
33
34Fri Dec 24 09:40:52 1993  Michael Tiemann  <tiemann@blues.cygnus.com>
35
36	* cp-typeck.c (c_expand_start_case): Use default_conversion to
37	convert expression from reference type if necessary.
38
39Wed Dec 22 17:58:43 1993  Jason Merrill  <jason@deneb.cygnus.com>
40
41	* cp-typeck.c (build_unary_op): Make sure that it's a TREE_LIST before
42	trying to read its TREE_VALUE.
43
44	* cp-class.c (finish_struct_methods): Clear DECL_IN_AGGR_P here.
45	(finish_struct): Instead of here.
46
47Tue Dec 21 14:34:25 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
48
49	* cp-tree.c (list_hash_lookup_or_cons): Make sure the type doesn't
50	have TYPE_PTRMEMFUNC_P set before we try to build its
51	CLASSTYPE_ID_AS_LIST.
52	(get_decl_list): Likewise, when trying to read it.
53
54	* cp-tree.h (VTABLE_NAME): No def with NO_{DOLLAR,DOT} defined.
55	(VTABLE_NAME_P): Use it instead of VTABLE_NAME_FORMAT.
56
57Mon Dec 20 13:35:03 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
58
59	* cp-typeck.c (rationalize_conditional_expr): New function.
60	(unary_complex_lvalue): Use it.
61	(build_modify_expr): Use it, since trying to do an ADDR_EXPR of it
62	with build_unary_op won't cut it.  Don't wrap the COND_EXPR with a
63	SAVE_EXPR either.
64
65	* cp-decl2.c (explicit_warn_return_type): Deleted variable.
66	(lang_decode_option): Set warn_return_type, not explicit_*, for
67	-Wreturn-type and -Wall.  This is what rest_of_compilation uses to
68	decide if it should go into jump_optimize or not.
69	* cp-tree.h (explicit_warn_return_type): Deleted.
70	* cp-decl.c (grokdeclarator): Use warn_return_type, not explicit_*.
71	(finish_function): Also complain about no return in a non-void fn if
72	we're being pedantic (don't rely on use of -Wreturn-type).
73
74Fri Dec 17 15:45:46 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
75
76	* cp-decl.c (grokdeclarator): Forbid declaration of a function as
77	static if it's being done inside another function.
78
79	* cp-search.c (compute_visibility): Check for friendship both ways.
80
81Fri Dec 17 14:28:25 1993  Jason Merrill  <jason@deneb.cygnus.com>
82
83	* cp-cvt.c (build_default_binary_type_conversion): Make error
84	messages more helpful.
85
86	* cp-error.c (op_as_string): New function, returns "operator =="
87	given EQ_EXPR or suchlike.
88
89Fri Dec 17 13:28:11 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
90
91	* cp-call.c (print_n_candidates): New function.
92	(build_overload_call_real): Use it when we complain about a call
93	being ambiguous.
94
95Fri Dec 17 12:41:17 1993  Jason Merrill  <jason@deneb.cygnus.com>
96
97	* cp-call.c (build_method_call): Fix checking for static call
98	context.
99
100	* cp-method.c (build_opfncall): Call build_indirect_ref on argument
101	to operator new.
102
103	* cp-init.c (build_new): Don't mess with rval when building
104	indirect ref.
105
106Thu Dec 16 16:48:05 1993  Kung Hsu  <kung@cirdan.cygnus.com>
107
108	* cp-lex.c (default_assign_ref_body): Add check when TYPE_NESTED_
109	NAME(type) may not be exist.  It's not a problem for old compiler.
110
111Thu Dec 16 14:46:06 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
112
113	* cp-tree.h (CLASSTYPE_ALTERS_VISIBILITIES_P): Delete macro, it's
114	never used for anything.
115	(struct lang_type, member type_flags): Delete field
116	`alters_visibility', and up `dummy' by 1.
117	* cp-class.c (finish_base_struct): Delete code that copies the
118	setting of CLASSTYPE_ALTERS_VISIBILITIES_P.
119	(finish_struct): Delete code that sets it.
120
121Thu Dec 16 14:44:39 1993  Jason Merrill  <jason@deneb.cygnus.com>
122
123	* cp-decl.c, cp-init.c, cp-typeck.c: Fix arguments to
124	build_method_call that I messed up before.
125
126	* cp-search.c (get_base_distance): If protect > 1, allow immediate
127	private base.
128
129	* cp-class.c (finish_base_struct): Set cant_synth_* correctly.
130	(finish_struct): Likewise.  Well, nigh-correctly; it won't deal
131	properly with the case where a class contains an object of an
132	ambiguous base class which has a protected op=.  Should be fixed
133	when the access control code gets overhauled.
134	(finish_struct_methods): Set TYPE_HAS_NONPUBLIC_* correctly.
135
136Thu Dec 16 12:17:06 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
137
138	* cp-lex.c (real_yylex): Turn the code back on that deals with
139	__FUNCTION__ and __PRETTY_FUNCTION__.  Don't use lookup_name, to
140	avoid the ambiguity problems that led to it being turned off in the
141	first place.
142
143	* cp-method.c (hack_identifier): Also check for a TYPE_PTRMEMFUNC_P
144	to see if something is a method.
145
146Wed Dec 15 18:35:58 1993  Mike Stump  <mrs@cygnus.com>
147
148	* cp-typeck.c (build_modify_expr): Avoid error messages on small
149	enum bit fields.
150	* cp-typeck.c (convert_for_assignment): Add missing argument to
151	cp_warning and cp_pedwarn calls.
152
153Wed Dec 15 18:25:32 1993  Jason Merrill  <jason@deneb.cygnus.com>
154
155	* cp-parse.y (member_init): ANSI C++ doesn't forbid old-style base
156	initializers; it's just anachronistic.
157
158	* cp-decl.c (finish_decl): Don't require external-linkage arrays
159	to have a complete type at declaration time when pedantic.
160
161Tue Dec 14 11:37:23 1993  Jason Merrill  <jason@deneb.cygnus.com>
162
163	* cp-decl.c (pushdecl): Don't set DECL_CONTEXT if it's already set.
164
165	* cp-call.c (build_method_call): Don't dereference pointer given
166	as instance.
167
168	* cp-decl.c (finish_function): Don't pass pointer to
169	build_method_call.
170	(finish_function): Likewise.
171
172	* cp-typeck.c (build_x_function_call): Likewise.
173
174	* cp-method.c (build_component_type_expr): Likewise.
175
176	* cp-init.c (build_member_call): Likewise.
177	(build_new): Likewise.
178
179Mon Dec 13 18:04:33 1993  Kung Hsu  <kung@cirdan.cygnus.com>
180
181	* cp-decl.c (xref_tag): Fix regression created by changes made
182	in Dec. 7 1993.
183	* cp-decl.c (xref_defn_tag): Fix parallel nested class problem.
184
185Fri Dec 10 12:40:25 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
186
187	* cp-call.c (compute_conversion_costs_ansi) [DEBUG_MATCHING]: Print
188	out the final evaluation of the function, so we can see if ELLIPSIS,
189	USER, and EVIL were set at the end.
190
191	* cp-call.c (convert_harshness_ansi): When the parm isn't an lvalue,
192	only go for setting TRIVIAL_CODE if we are dealing with types that
193	are compatible.
194
195Thu Dec  9 18:27:22 1993  Mike Stump  <mrs@cygnus.com>
196
197	* cp-decl.c (flag_huge_objects): New flag to allow large objects.
198	* toplev.c (lang_options): Likewise.
199	* cp-decl2.c (flag_huge_objects, lang_f_options): Likewise.
200	* cp-decl.c (delta_type_node): New type for delta entries.
201	* cp-tree.h (delta_type_node): Likewise.
202	* cp-decl.c (init_decl_processing): Setup delta_type_node.
203	* cp-decl.c (init_decl_processing, build_ptrmemfunc_type): Use
204	delta_type_node instead of short_integer_type_node.
205	* cp-class.c (build_vtable_entry): Likewise.
206
207Thu Dec  9 16:19:05 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
208
209	* cp-tree.h (OPERATOR_TYPENAME_P): Define outside of
210	NO_{DOLLAR,DOT} macro checks, so it always gets defined.
211	(VTABLE_NAME_P): Define for NO_DOT && NO_DOLLAR_IN_LABEL.
212
213Wed Dec  8 17:38:06 1993  Mike Stump  <mrs@cygnus.com>
214
215	* cp-decl.c (finish_decl): Make sure things that can go into
216	"common", do go into common, if -fcommon is given.
217
218Wed Dec  8 13:01:54 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
219
220	* cp-call.c (print_harshness) [DEBUG_MATCHING]: New function.
221	(compute_conversion_costs_ansi) [DEBUG_MATCHING]: Print out
222	argument matching diagnostics to make instantly clear what the
223	compiler is doing.
224
225	* cp-call.c (convert_harshness_ansi): If the parm isn't an lvalue,
226	then check to see if the penalty was increased due to
227	signed/unsigned mismatch, and use a TRIVIAL_CODE if it wasn't.
228
229Tue Dec  7 18:29:14 1993  Kung Hsu  <kung@cirdan.cygnus.com>
230
231	* cp-decl.c (xref_tag, pushtag): Fix nested class search/resolution
232	problem.
233
234Tue Dec  7 16:09:34 1993  Jason Merrill  <jason@deneb.cygnus.com>
235
236	* cp-class.c (finish_struct): Before synthesizing methods, if no
237	methods have yet been declared then set nonprivate_method.  Don't
238	set non_private method after synthesizing a method.
239
240	* cp-lex.c (extract_interface_info): If flag_alt_external_templates
241	is set, tie emitted code to the location of template instantiation,
242	rather than definition.
243
244	* cp-tree.h: Declare flag_alt_external_templates.
245
246	* cp-decl2.c (lang_decode_option): Support -falt-external-templates.
247
248	* toplev.c (lang_options): Likewise.
249
250Mon Oct  4 12:50:02 1993  Chip Salzenberg  <chip@fin.uucp>
251
252	[changes propagated from 930810 snapshot]
253	* cp-decl.c (init_decl_processing): Make long long available for use
254	as SIZE_TYPE and PTRDIFF_TYPE.
255	(finish_decl): Allow file-scope static incomplete array.
256	(grokdeclarator): Don't pass on const and volatile fron function
257	value type to function type.
258	Warn here for volatile fn returning non-void type.
259	* cp-parse.y (attrib): Accept attributes `volatile' with alias
260	`noreturn', and `const'.
261	* cp-typeck.c (default_conversion): Don't lose const and volatile.
262	(build_binary_op_nodefault): Generate pedantic warning for comparison
263	of complete pointer type with incomplete pointer type.
264	(build_c_cast): Be careful that null pointer constant be INTEGER_CST.
265
266Tue Dec  7 10:46:48 1993  Jason Merrill  <jason@deneb.cygnus.com>
267
268	* cp-init.c (expand_vec_init): When creating a temporary for copying
269	arrays, use the type of the source, not the target.
270
271	* cp-cvt.c (convert): Pass an argument for errtype to
272	convert_to_reference.
273
274	* cp-error.c (dump_expr, COMPONENT_REF & CALL_EXPR): Deal with
275	methods, -> and `this'.
276
277Mon Dec  6 17:12:33 1993  Jason Merrill  <jason@deneb.cygnus.com>
278
279	* cp-error.c (parm_as_string): New function; returns `this' or arg
280	number.  Corresponds to %P.
281	(dump_expr): Deal with method calls.
282
283	* cp-cvt.c (convert_to_reference): Stop using warn_for_assignment.
284	* cp-typeck.c (convert_for_assignment): Likewise.
285	(warn_for_assignment): Lose.
286
287Mon Dec  6 11:33:35 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
288
289	* cp-call.c (ideal_candidate_ansi): Delete code that was never
290	doing anything useful.  Instead, sort once, and DO NOT wipe
291	out any codes with EVIL_CODE, since that's what we use as a
292	marker for the end of the list of candidates.
293
294	* cp-cvt.c (convert_to_aggr): Make sure to always set H_LEN.
295
296Mon Dec  6 12:49:17 1993  Jason Merrill  <jason@deneb.cygnus.com>
297
298	* cp-init.c (get_aggr_from_typedef): New function, like
299	is_aggr_typedef but returns the _TYPE.
300
301	* cp-call.c, cp-init.c, cp-method.c: Eradicate err_name.
302
303Sun Dec  5 18:12:48 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
304
305	* cp-lex.c (readescape): Pedwarn when a hex escape is out of range.
306
307Thu Nov 25 23:50:19 1993  Chip Salzenberg  <chip@fin.uucp>
308
309	Delay language context change until beginning of next decl.
310
311	* cp-lex.h (c_header_level): Removed.
312	(pending_lang_change): Declared.
313	* cp-lex.c (c_header_level): Renamed from in_c_header, made static.
314	(pending_lang_change): Defined.
315	(check_newline): Rework code that recognizes line number and
316	filename changes.  Instead of pushing and popping lang context,
317	increment and decrement pending_lang_change.
318	(do_pending_lang_change):  Push and pop lang context according
319	to value of pending_lang_change.
320	* cp-parse.y (extdefs): Use lang_extdef instead of extdef.
321	(extdef): Same as extdef, but call do_pending_lang_change() first.
322
323Mon Nov 15 15:39:15 1993  Chip Salzenberg  <chip@fin.uucp>
324
325	* cp-typeck.c (build_binary_op_nodefault): Warn for ordered
326	compare of ptr with 0 only if pedantic in both cases.
327
328Thu Nov 25 13:31:37 1993  Chip Salzenberg  <chip@fin.uucp>
329
330	Reinstate the below patch, which got lost in the Cygnus merge:
331	Tue Nov 23 13:59:24 1993  Hallvard B Furuseth  (hbf@durin.uio.no)
332	* cp-parse.y (maybe_type_qual): Don't fail to set $$.
333
334Wed Nov 17 19:03:30 1993  Chip Salzenberg  <chip@fin.uucp>
335
336	* cp-parse.y (attrib): Allow "ident(ident)" like the C front end.
337
338Fri Oct 22 20:43:37 1993  Paul Eggert  <eggert@twinsun.com>
339
340	* cp-lex.c (real_yylex): Diagnose floating point constants
341	that are too large.
342
343Wed Nov 17 19:10:37 1993  Chip Salzenberg  <chip@fin.uucp>
344
345	* cp-type2.c (build_functional_cast): ARM page 16: When a class
346	and an object, function or enumerator are declared in the same
347	scope with the same name, the class name is hidden.
348
349Wed Nov 17 19:07:18 1993  Chip Salzenberg  <chip@fin.uucp>
350
351	* cp-call.c (convert_harshness_ansi): Distinguish float, double,
352	and long double from each other when overloading.
353	(compute_conversion_costs_{ansi,old}, build_method_call,
354	build_overlay_call_real, convert_to_aggr): Always set and
355	always use H_LEN member of candidate structure.
356
357Mon Oct 11 23:10:53 1993  Chip Salzenberg  <chip@fin.uucp>
358
359	* cp-decl.c (duplicate_decls): Note redeclarations of library
360	functions, and generate distinct warnings for them.
361
362Mon Oct  4 12:26:49 1993  Chip Salzenberg  <chip@fin.uucp>
363
364	Support format warnings in G++.
365
366	* cp-tree.h: Protect against multiple inclusion.
367	Declare all public functions in c-common.c (copy from c-tree.h).
368	(STDIO_PROTO): Define.
369	(warn_format): Declare.
370	(record_format_info): Remove declaration.
371	* cp-decl.c (init_decl_processing): Call init_function_format_info.
372	* cp-decl2.c (lang_decode_option): Make "-Wall" include warn_format.
373	* cp-typeck.c (build_function_call_real): Call check_function_format.
374	(record_format_info): Remove -- obsolete stub.
375
376Sat Jul 24 12:04:29 1993  Chip Salzenberg  <chip@fin.uucp>
377
378	* cp-decl.c (duplicate_decls): Don't warn for non-extern var decl
379	following an extern one (for -Wredundant-decls).
380	* cp-parse.y (primary): In statement expression case, if compstmt
381	returns something other than a BLOCK, return it unchanged.
382
383Thu Dec  2 20:44:58 1993  Chip Salzenberg  <chip@fin.uucp>
384
385	* cp-decl.c (warn_extern_redeclared_static): New function made
386	from code extracted from pushdecl.
387	(duplicate_decls, pushdecl): Call new function.
388	(lookup_name_current_level): Allow for IDENTIFIER_GLOBAL_VALUE
389	to be a TREE_LIST when function is declared in 'extern "C" {}'.
390
391Fri Dec  3 16:01:10 1993  Jason Merrill  <jason@deneb.cygnus.com>
392
393	* cp-class.c (duplicate_tag_error): Use cp_error.
394	(finish_base_struct): Check for ambiguity with direct base, and don't
395	generate op= or copy ctor if it exists.
396
397Fri Dec  3 15:32:34 1993  Kung Hsu  <kung@cirdan.cygnus.com>
398
399	* cp-init.c (expand_member_init): When initializer name is null,
400	don't try to build it now because emit_base_init will handle it.
401
402Fri Dec  3 12:28:59 1993  Jason Merrill  <jason@deneb.cygnus.com>
403
404	* cp-lex.c (init_lex): Initialize input_filename to "<internal>" for
405	code such as ExceptionHandler::operator=.
406
407Fri Dec  3 10:32:08 1993  Jason Merrill  <jason@deneb.cygnus.com>
408
409	* cp-decl.c (grokdeclarator): Don't try to print out dname when
410	complaining about arrays of references if decl_context==TYPENAME,
411	since it will be null.
412
413	* cp-decl2.c: Default to flag_ansi_overloading.
414
415Thu Dec  2 18:05:56 1993  Kung Hsu  <kung@cirdan.cygnus.com>
416
417	* cp-call.c (build_method_call): Use binfo from instance if it's
418	different from binfo (basetype_path) passed from above.
419
420Wed Nov 17 19:14:29 1993  Chip Salzenberg  <chip@fin.uucp>
421
422	cp-error.c (dump_expr): Use unsigned chars to output a
423	TREE_REAL_CST in hex.
424
425Thu Dec  2 11:05:48 1993  Jason Merrill  <jason@deneb.cygnus.com>
426
427	* cp-class.c (finish_struct): Fix typo in setting
428	cant_synth_asn_ref.
429
430	* cp-tree.h (TYPE_NESTED_NAME): New macro, does
431	DECL_NESTED_TYPENAME (TYPE_NAME (NODE)).
432
433	* cp-lex.c (default_copy_constructor_body): Change
434	DECL_NAME (TYPE_NAME (btype)) to TYPE_NESTED_NAME (btype).
435	(default_assign_ref_body): Likewise.
436	(default_copy_constructor_body): Call operator= explicitly for
437	base classes that have no constructor.
438
439Thu Dec  2 10:47:15 1993  Michael Tiemann  <tiemann@blues.cygnus.com>
440
441	* cp-call.c (build_method_call): If the instance variable is
442	converted to error_mark_node when we're trying to convert it to the
443	base type of a method we're looking up, return error_mark_node.
444
445Thu Dec  2 10:41:16 1993  Torbjorn Granlund  <tege@cygnus.com>
446
447	* cp-typeck.c (build_binary_op_nodefault): In *_DIV_EXPR *_MOD_EXPR
448	cases, tests for unsigned operands by peeking inside a NOP_EXPR.
449
450Wed Dec  1 13:33:34 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
451
452	* cp-call.c (compute_conversion_costs_ansi): Use the size of struct
453	harshness_code, not the size of short, for clearing out the
454	ansi_harshness.
455
456	* cp-call.c (print_candidates): New function.
457	(build_method_call): When we had some candidates, but didn't get a
458	usable match, don't report that we got an error with the first
459	candidate.  Instead, say there were no matches, and list the
460	candidates with print_candidates.  In the second pass, make sure we
461	clear out ever_seen, so we can accurately count the number of
462	functions that qualified.
463
464Wed Dec  1 09:53:59 1993  Torbjorn Granlund  <tege@cygnus.com>
465
466	* cp-typeck.c (build_binary_op_nodefault): Shorten for *_MOD_EXPR
467	only if op1 is known to be != -1.
468	(build_binary_op_nodefault): Handle *_DIV_EXPR likewise.
469
470Tue Nov 30 14:07:26 1993  Brendan Kehoe  <brendan@lisa.cygnus.com>
471
472	* cp-method.c (hack_identifier): If the field itself is private, and
473	not from a private base class, say so.
474
475Mon Nov 29 03:00:56 1993  Jason Merrill  <jason@deneb.cygnus.com>
476
477	* cp-decl.c (grokdeclarator): Always warn on initialization of
478	const member.
479
480Wed Nov 24 00:49:35 1993  Jason Merrill  <jason@deneb.cygnus.com>
481
482	* cp-class.c (finish_struct): Set TYPE_GETS_CONST_* properly.
483	(finish_base_struct): Set cant_synth_asn_ref properly.
484
485	* cp-lex.c (cons_up_default_function): Add section for operator=.
486	(default_assign_ref_body): New function, mostly cribbed from
487	default_copy_constructor_body.
488
489	* cp-class.c (base_info): Add members cant_synth_copy_ctor,
490	cant_synth_asn_ref, no_const_asn_ref.
491	(finish_base_struct): Update no_const_asn_ref, note that you should
492	update cant_synth_*, propagate TYPE_GETS_ASSIGN_REF.
493	(finish_struct): Add decls for cant_synth_*, no_const_asn_ref, and
494	initialize them properly.  Set no_const_asn_ref properly.  Set
495	cant_synth_* in some of the situations where they should be set.
496	Propagate TYPE_GETS_ASSIGN_REF.  Use cant_synth_copy_ctor.  Add call
497	to cons_up_default_function for operator=.
498
499Tue Nov 23 20:24:58 1993  Mike Stump  <mrs@cygnus.com>
500
501	* cp-cvt.c (convert_force): Add code to perform casting of pointer
502	to member function types.
503	* cp-typeck.c (build_ptrmemfunc): Add FORCE parameter to indicate
504	when the conversion should be done, regardless.
505	* cp-tree.h (build_ptrmemfunc): Likewise.
506	* cp-type2.c (digest_init): Likewise.
507	* cp-typeck.c (convert_for_assignment): Likewise.
508
509Tue Nov 23 18:06:58 1993  Jason Merrill  <jason@deneb.cygnus.com>
510
511	* cp-error.c (dump_expr): Do the right thing for variables of
512	reference type.
513
514	* cp-decl.c (grok_op_properties): Set TYPE_HAS_ASSIGN_REF
515	and its kin properly.
516	(xref_tag): Propagate TYPE_GETS_ASSIGN_REF.
517
518Tue Nov 23 12:26:13 1993  Mike Stump  <mrs@cygnus.com>
519
520	* cp-method.c (build_opfncall): Don't count pointer to member
521	functions as aggregates here, as we don't want to look up methods in
522	them.  The compiler would core dump if we did, as they don't have
523	normal names.
524	* cp-typeck.c (build_indirect_ref): Improve wording on error
525	message.
526
527Mon Nov 22 14:22:23 1993  Jason Merrill  <jason@deneb.cygnus.com>
528
529	* cp-decl.c (grok_op_properties): Allow operator?: with pedwarn
530	(since it's supported in other compiler bits).
531
532	* cp-method.c (report_type_mismatch): Use cp_error; ignore err_name
533	argument.
534
535	* cp-error.c (dump_function_decl): Don't print return type for
536	constructors and destructors.
537
538	* cp-cvt.c (cp_convert_to_pointer): Import code from
539	convert_to_pointer so we can return error_mark_node in the case of an
540	error, and to allow more meaningful error messages.
541	(build_type_conversion): Don't go through void* when trying
542	to convert to a pointer type.
543
544	* cp-decl.c (grokfndecl): Move call to grok_op_properties back
545	after grokclassfn so that it's dealing with the right decl.
546	(grok_op_properties): Don't assert !methodp for op new and op delete.
547
548	* cp-init.c (build_delete): Don't use TYPE_BUILT_IN (there are now
549	no uses of it in the compiler).
550
551	* cp-call.c (build_scoped_method_call): Fix for destructors of simple
552	types.
553	(build_method_call): Likewise.
554
555Fri Nov 19 12:59:38 1993  Jason Merrill  <jason@deneb.cygnus.com>
556
557	* cp-tree.c (count_functions): Abstraction function.
558
559	* cp-call.c (build_overload_call_real): Deal with new overloading
560	properly, remove dead code.
561
562	* gcc.c (default_compilers): Generate and use .ii files in the
563	intermediate stage of compiling C++ source.
564
565Fri Nov 19 11:26:09 1993  Jim Wilson  <wilson@sphagnum.cygnus.com>
566
567	* cp-expr.c (cplus_expand_expr): Make call_target a valid memory
568	address before using it, so it can be later safely compared.
569
570Fri Nov 12 15:30:27 1993  Jason Merrill  <jason@deneb.cygnus.com>
571
572	* cp-pt.c (tsubst): Deal with new overloading.
573
574	* cp-typeck.c (fntype_p): Is the arg function type?
575	(comp_target_parms): pedwarn on conversion from (anything) to (...).
576	(build_x_function_call): Deal with new overloading.
577
578	* cp-tree.c (decl_list_length): Deal with new overloading.
579	(decl_value_member): Like value_member, but for DECL_CHAINs.
580
581	* cp-decl.c (duplicate_decls): Deal with new overloading.
582	(start_decl): Likewise.
583
584	* cp-class.c (instantiate_type): Deal with new overloading.
585
586	* cp-call.c (convert_harshness_ansi): Deal with new overloading.
587	(convert_harshness_old): Deal with new overloading.
588	(build_overload_call_real): Likewise.
589
590Mon Nov  8 13:50:49 1993  Jason Merrill  <jason@deneb.cygnus.com>
591
592	* cp-tree.c (get_unique_fn): New function; returns FUNCTION_DECL
593	if unambiguous, NULL_TREE otherwise.
594	(get_first_fn): Returns the first appropriate FUNCTION_DECL.
595	(is_overloaded_fn): Returns whether or not the passed tree is
596	a function or list of functions.
597
598	* cp-init.c (init_init_processing): Use `get_first_fn' to find
599	the FUNCTION_DEFN for new and delete.
600
601	* cp-decl.c (push_overloaded_decl): Use new overloading strategy, cut
602	code size in half (I spit on special cases).
603
604Tue Sep  7 20:03:33 1993  Jason Merrill  <jason@deneb.cygnus.com>
605
606	* cp-decl.c: Allow references and template type parameters as well
607