111
|
1 Tue 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
|
|
6 Tue 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
|
|
12 Tue 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
|
|
34 Fri 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
|
|
39 Wed 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
|
|
47 Tue 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
|
|
57 Mon 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
|
|
74 Fri 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
|
|
81 Fri 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
|
|
89 Fri 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
|
|
95 Fri 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
|
|
106 Thu 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
|
|
111 Thu 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
|
|
121 Thu 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
|
|
136 Thu 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
|
|
146 Wed 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
|
|
153 Wed 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
|
|
161 Tue 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
|
|
179 Mon 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
|
|
185 Fri 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
|
|
195 Thu 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
|
|
207 Thu 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
|
|
213 Wed 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
|
|
218 Wed 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
|
|
229 Tue 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
|
|
234 Tue 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
|
|
250 Mon 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
|
|
266 Tue 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
|
|
277 Mon 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
|
|
287 Mon 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
|
|
296 Mon 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
|
|
303 Sun 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
|
|
307 Thu 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
|
|
323 Mon 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
|
|
328 Thu 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
|
|
334 Wed 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
|
|
338 Fri 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
|
|
343 Wed 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
|
|
349 Wed 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
|
|
357 Mon 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
|
|
362 Mon 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
|
|
376 Sat 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
|
|
383 Thu 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
|
|
391 Fri 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
|
|
397 Fri 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
|
|
402 Fri 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
|
|
407 Fri 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
|
|
415 Thu 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
|
|
420 Wed 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
|
|
425 Thu 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
|
|
439 Thu 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
|
|
445 Thu 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
|
|
450 Wed 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
|
|
464 Wed 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
|
|
470 Tue 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
|
|
475 Mon 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
|
|
480 Wed 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
|
|
499 Tue 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
|
|
509 Tue 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
|
|
518 Tue 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
|
|
527 Mon 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
|
|
555 Fri 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
|
|
565 Fri 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
|
|
570 Fri 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
|
|
590 Mon 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
|
|
604 Tue 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
|
|
608
|
|
609 Copyright (C) 1993 Free Software Foundation, Inc.
|
|
610
|
|
611 Copying and distribution of this file, with or without modification,
|
|
612 are permitted in any medium without royalty provided the copyright
|
|
613 notice and this notice are preserved.
|