]>
Commit | Line | Data |
---|---|---|
d0d17eb3 | 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 | |
7dfbd804 | 607 | |
608 | \f | |
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. |