111
|
1 Mon Dec 22 11:36:27 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|
2
|
|
3 * call.c (add_builtin_candidate): Add default case in enumeration
|
|
4 switch.
|
|
5 (build_new_op): Likewise.
|
|
6 (convert_like): Likewise.
|
|
7 * cvt.c (build_expr_type_conversion): Likewise.
|
|
8 * tree.c (real_lvalue_p): Likewise.
|
|
9 (lvalue_p): Likewise.
|
|
10 (cp_tree_equal): Likewise.
|
|
11 * typeck.c (comptypes): Likewise.
|
|
12 (build_component_ref): Likewise.
|
|
13 (build_function_call_real): Likewise.
|
|
14 (build_binary_op_nodefault): Likewise.
|
|
15 (build_unary_op): Likewise.
|
|
16 (build_modify_expr): Likewise.
|
|
17 * typeck2.c (initializer_constant_valid_p): Likewise.
|
|
18
|
|
19 Sun Dec 21 15:59:00 1997 Nick Clifton <nickc@cygnus.com>
|
|
20
|
|
21 * decl2.c (lang_decode_option): Add support for -Wunknown-pragmas.
|
|
22
|
|
23 Thu Dec 18 14:51:50 1997 Mark Mitchell <mmitchell@usa.net>
|
|
24
|
|
25 * pt.c (coerce_template_parms): Make sure to digest_init if
|
|
26 possible.
|
|
27
|
|
28 * decl.c (duplicate_decls): Make the newdecl virtual if the
|
|
29 olddecl was, just as is done with other attributes of olddecl.
|
|
30
|
|
31 Thu Dec 18 14:43:19 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
32
|
|
33 * typeck.c (unary_complex_lvalue): Ignore op0 when taking the
|
|
34 address of an OFFSET_REF.
|
|
35
|
|
36 * cp-tree.def: Add AGGR_INIT_EXPR.
|
|
37 * error.c, tree.c, typeck.c: Replace uses of NEW_EXPR with
|
|
38 AGGR_INIT_EXPR where appropriate.
|
|
39 * expr.c (cplus_expand_expr): Likewise. Simplify.
|
|
40
|
|
41 * decl2.c (finish_file): Remove call to register_exception_table.
|
|
42
|
|
43 Wed Dec 17 17:08:52 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
44
|
|
45 * pt.c (instantiate_class_template): Don't do injection when
|
|
46 processing_template_decl is true, as pollutes current_binding_level
|
|
47 for base classes.
|
|
48
|
|
49 Wed Dec 17 21:17:39 1997 Peter Schmid <schmid@ltoi.iap.physik.tu-darmstadt.de>
|
|
50
|
|
51 * pt.c (maybe_fold_nontype_arg): Add prototype.
|
|
52
|
|
53 Tue Dec 16 10:31:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
54
|
|
55 * tree.c (mapcar): Handle TRY_CATCH_EXPR et al.
|
|
56 * error.c (dump_expr): Likewise.
|
|
57
|
|
58 Mon Dec 15 12:22:04 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
59
|
|
60 * typeck.c (build_function_call_real): Remove "inline called before
|
|
61 definition" pedwarn.
|
|
62
|
|
63 * pt.c (coerce_template_parms): Use maybe_fold_nontype_arg.
|
|
64
|
|
65 Sun Dec 14 22:34:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
66
|
|
67 * cvt.c (cp_convert_to_pointer): Fix base conversion of pm's.
|
|
68
|
|
69 * pt.c (type_unification_real): Change __null to type void* with
|
|
70 a warning.
|
|
71
|
|
72 Sun Dec 14 20:38:35 1997 Mark Mitchell <mmitchell@usa.net>
|
|
73
|
|
74 * call.c (implicit_conversion): Don't call
|
|
75 build_user_type_conversion_1 with a NULL expr, since it will
|
|
76 crash.
|
|
77
|
|
78 * pt.c (unify): Don't try to unify array bounds if either array is
|
|
79 unbounded.
|
|
80
|
|
81 Fri Dec 12 16:09:14 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
82
|
|
83 * errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at):
|
|
84 Replace extern decls with casts.
|
|
85
|
|
86 * decl.c (expand_start_early_try_stmts): Don't mess with a sequence.
|
|
87 Update last_parm_cleanup_insn.
|
|
88 (store_after_parms): Remove.
|
|
89 * cp-tree.h: Adjust.
|
|
90
|
|
91 Thu Dec 11 22:18:37 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
92
|
|
93 * decl2.c (comdat_linkage): Also set DECL_COMDAT.
|
|
94 (finish_file): Check DECL_COMDAT instead of weak|one_only.
|
|
95 (import_export_vtable): Use make_decl_one_only instead of
|
|
96 comdat_linkage for win32 tweak.
|
|
97 (import_export_decl): Likewise.
|
|
98 * pt.c (mark_decl_instantiated): Likewise.
|
|
99
|
|
100 * decl2.c (finish_file): Lose handling of templates in pending_statics.
|
|
101
|
|
102 Thu Dec 11 21:12:09 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
103
|
|
104 * decl2.c (finish_file): Lose call to expand_builtin_throw.
|
|
105 * except.c (expand_builtin_throw): Remove.
|
|
106 * cp-tree.h: Remove ptr_ptr_type_node.
|
|
107 * decl.c: Likewise.
|
|
108
|
|
109 Thu Dec 11 20:43:33 1997 Teemu Torma <tot@trema.com>
|
|
110
|
|
111 * decl.c (ptr_ptr_type_node): Define.
|
|
112 (init_decl_processing): Initialize it.
|
|
113 * cp-tree.h: Declare it.
|
|
114 * exception.cc (__cp_exception_info): Use __get_eh_info.
|
|
115 (__cp_push_exception): Likewise.
|
|
116 (__cp_pop_exception): Likewise.
|
|
117
|
|
118 From Scott Snyder <snyder@d0sgif.fnal.gov>:
|
|
119 * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
|
|
120 saved_pc.
|
|
121 (init_exception_processing): Removed saved_pc initialization.
|
|
122
|
|
123 Wed Dec 10 11:04:45 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
124
|
|
125 * pt.c (instantiate_decl): Defer all templates but inline functions.
|
|
126
|
|
127 Mon Dec 8 23:17:13 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
128
|
|
129 * init.c (expand_vec_init): Don't fold a list of parameters.
|
|
130
|
|
131 * decl.c (copy_args_p): Handle copy elision for types with virtual
|
|
132 bases.
|
|
133 * call.c (build_over_call): Likewise.
|
|
134
|
|
135 Sun Dec 7 22:38:12 1997 Mark Mitchell <mmitchell@usa.net>
|
|
136
|
|
137 * pt.c (lookup_template_function): Copy the template arguments,
|
|
138 not just the list containing them, to the permanent obstack.
|
|
139
|
|
140 Sun Dec 7 15:53:06 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
141
|
|
142 * except.c (expand_start_catch_block): suspend_momentary for the
|
|
143 terminate handler.
|
|
144
|
|
145 * error.c (dump_decl): Handle LOOKUP_EXPR.
|
|
146
|
|
147 Sun Dec 7 15:45:07 1997 Mark Mitchell <mmitchell@usa.net>
|
|
148
|
|
149 * rtti.c (build_dynamic_cast): Copy the cast-to type to the
|
|
150 permanent obstack if we are processing a template decl.
|
|
151 * typeck.c (build_static_cast): Likewise.
|
|
152 (build_const_cast): Likewise.
|
|
153 (build_reinterpret_cast): Likewise.
|
|
154
|
|
155 * pt.c (coerce_template_parms): Coerce some expressions, even
|
|
156 when processing_template_decl.
|
|
157
|
|
158 Sun Dec 7 01:46:33 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
|
159
|
|
160 * typeck.c (build_binary_op_nodefault, pointer_diff): Symmetric
|
|
161 handling of pointer difference expressions.
|
|
162
|
|
163 * typeck.c (comp_target_types): Comparison of function/method types
|
|
164 is independent of nptrs.
|
|
165
|
|
166 Sun Dec 7 01:40:27 1997 Mark Mitchell <mmitchell@usa.net>
|
|
167
|
|
168 * pt.c (tsubst): Avoid creating pointer to reference and
|
|
169 reference to reference types.
|
|
170
|
|
171 Sat Dec 6 01:29:37 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
172
|
|
173 * parse.y (do_id): New nonterminal.
|
|
174 (template_id): Use it.
|
|
175
|
|
176 Fri Dec 5 01:17:34 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
177
|
|
178 * parse.y (template_id): do_identifier for PFUNCNAMEs, too.
|
|
179 * spew.c (yylex): Don't do_identifier here.
|
|
180 * decl2.c (build_expr_from_tree): Revert last change.
|
|
181
|
|
182 * decl2.c (build_expr_from_tree): Expand the name for a method call.
|
|
183 * parse.y (object_template_id): Don't try to take the DECL_NAME.
|
|
184
|
|
185 Wed Dec 3 20:02:39 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
186
|
|
187 * init.c (build_new): Use a TARGET_EXPR instead of SAVE_EXPR for
|
|
188 alloc_expr.
|
|
189 * call.c (build_op_delete_call): Adjust.
|
|
190
|
|
191 * except.c (expand_end_catch_block): Lose rethrow region.
|
|
192 (expand_start_catch_block): Likewise.
|
|
193 (expand_end_catch_block): Don't expand_leftover_cleanups.
|
|
194
|
|
195 Wed Dec 3 13:24:04 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
196
|
|
197 * pt.c (tsubst): Remove tree_cons call (places redundant info into
|
|
198 DECL_TEMPLATE_INSTANTIATION).
|
|
199
|
|
200 Wed Dec 3 11:44:52 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
201
|
|
202 * tree.c (is_overloaded_fn): Handle getting a fn template.
|
|
203 (really_overloaded_fn): Likewise.
|
|
204 * error.c (dump_decl): Handle TEMPLATE_ID_EXPRs better.
|
|
205 * pt.c (check_explicit_specialization): Tweak.
|
|
206 (determine_explicit_specialization): Tweak.
|
|
207
|
|
208 * tree.c, cp-tree.h (get_target_expr): New fn.
|
|
209
|
|
210 Wed Dec 3 08:47:27 1997 Paul Eggert <eggert@twinsun.com>
|
|
211
|
|
212 * pt.c (check_explicit_specialization): Fix misspelling in
|
|
213 diagnostic: `preceeded'.
|
|
214 * typeck.c (get_delta_difference): Fix misspelling in diagnostic:
|
|
215 `conversiona'.
|
|
216
|
|
217 1997-12-02 Mark Mitchell <mmitchell@usa.net>
|
|
218
|
|
219 * pt.c (determine_explicit_specialization): Avoid an internal
|
|
220 error for bad specializations.
|
|
221
|
|
222 * method.c (build_overload_value): Handle SCOPE_REF.
|
|
223
|
|
224 Tue Dec 2 19:18:50 1997 Mike Stump <mrs@wrs.com>
|
|
225
|
|
226 * class.c (prepare_fresh_vtable): Enable even more complex MI
|
|
227 vtable names.
|
|
228
|
|
229 Tue Dec 2 01:37:19 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
230
|
|
231 * exception.cc (__check_eh_spec): Optimize a bit.
|
|
232
|
|
233 * exception.cc (__cp_pop_exception): Lose handler arg.
|
|
234 * except.c (do_pop_exception): Likewise.
|
|
235 (push_eh_cleanup): Let the cleanup mechanism supply the handler.
|
|
236 (expand_end_catch_block): Likewise.
|
|
237
|
|
238 Fri Nov 28 01:58:14 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
239
|
|
240 * pt.c (check_explicit_specialization): Complain about using a
|
|
241 template-id for a non-specialization.
|
|
242
|
|
243 Fri Nov 28 12:35:19 1997 Scott Christley <scottc@net-community.com>
|
|
244
|
|
245 * repo.c: Prototype rindex only if needed.
|
|
246 * xref.c: Likewise.
|
|
247
|
|
248 Fri Nov 28 01:56:35 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
|
249
|
|
250 * error.c (dump_decl): Handle TEMPLATE_ID_EXPR.
|
|
251
|
|
252 Thu Nov 27 00:59:46 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
253
|
|
254 * typeck.c (build_const_cast): Handle references here instead of
|
|
255 handing off to convert_to_reference.
|
|
256
|
|
257 * except.c: Lose Unexpected, SetTerminate, SetUnexpected,
|
|
258 TerminateFunctionCall.
|
|
259 (init_exception_processing): Likewise. Terminate et al are now
|
|
260 the fns, not ADDR_EXPRs.
|
|
261 (various): Lose redundant assemble_external calls.
|
|
262 (do_unwind): s/BuiltinReturnAddress/builtin_return_address_fndecl/.
|
|
263
|
|
264 * cp-tree.h (struct lang_decl_flags): Add comdat.
|
|
265 (DECL_COMDAT): New macro.
|
|
266 * decl.c (duplicate_decls): Propagate it.
|
|
267 (cp_finish_decl): Handle it.
|
|
268 * decl2.c (import_export_decl): Just set DECL_COMDAT on VAR_DECLs.
|
|
269
|
|
270 * class.c: Remove static pending_hard_virtuals.
|
|
271 (add_virtual_function): Take pointers to pending_virtuals
|
|
272 and pending_hard_virtuals.
|
|
273 (finish_struct_1): Pass them. Declare pending_hard_virtuals.
|
|
274
|
|
275 Wed Nov 26 20:28:49 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
276
|
|
277 * decl2.c (import_export_vtable): If we support one_only but not
|
|
278 weak symbols, mark instantiated template vtables one_only.
|
|
279 (import_export_decl): Likewise for tinfo functions.
|
|
280 (finish_vtable_vardecl): Also write out vtables from explicitly
|
|
281 instantiated template classes.
|
|
282 * pt.c (mark_class_instantiated): Revert last change.
|
|
283
|
|
284 * except.c (expand_throw): Call mark_used on the destructor.
|
|
285
|
|
286 Wed Nov 26 15:13:48 1997 Jeffrey A Law (law@cygnus.com)
|
|
287
|
|
288 * lex.c (lang_init): Enable flag_exceptions by default if no
|
|
289 command line switch was specified.
|
|
290
|
|
291 1997-11-26 Mark Mitchell <mmitchell@usa.net>
|
|
292
|
|
293 * pt.c (unify): Handle `void' template parameters in
|
|
294 specializations.
|
|
295
|
|
296 Wed Nov 26 01:11:24 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
297
|
|
298 * rtti.c (build_dynamic_cast): Handle template case here.
|
|
299 (build_dynamic_cast_1): Not here.
|
|
300
|
|
301 * typeck2.c (digest_init): Make copies where appropriate.
|
|
302
|
|
303 * decl2.c (delete_sanity): resolve_offset_ref.
|
|
304
|
|
305 * except.c: Call terminate without caching so many bits.
|
|
306
|
|
307 * except.c (expand_start_catch_block): Fix catching a reference
|
|
308 to pointer.
|
|
309
|
|
310 Tue Nov 25 11:28:21 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
311
|
|
312 * init.c (build_new): Copy size to the saveable obstack.
|
|
313
|
|
314 * init.c (build_new): Stick a CLEANUP_POINT_EXPR inside the
|
|
315 TRY_CATCH_EXPR for now.
|
|
316
|
|
317 Mon Nov 24 12:15:55 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
318
|
|
319 * typeck.c (mark_addressable): Don't assume a FUNCTION_DECL
|
|
320 has DECL_LANG_SPECIFIC.
|
|
321
|
|
322 * exception.cc (struct cp_eh_info): Add handlers field.
|
|
323 (__cp_push_exception): Initialize it.
|
|
324 (__cp_pop_exception): Decrement it. Don't pop unless it's 0.
|
|
325 (__throw_bad_exception): Remove.
|
|
326 * except.c (call_eh_info): Add handlers field.
|
|
327 (get_eh_handlers): New fn.
|
|
328 (push_eh_cleanup): Increment handlers.
|
|
329
|
|
330 Fri Nov 21 12:22:07 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
331
|
|
332 * except.c (expand_start_eh_spec): Use the try/catch code.
|
|
333 (expand_end_eh_spec): Likewise. Call __check_eh_spec instead of
|
|
334 doing everything inline.
|
|
335 (init_exception_processing): throw_type_match now takes
|
|
336 const void pointers.
|
|
337 * exception.cc (__check_eh_spec): New fn.
|
|
338 * inc/exception: Neither terminate nor unexpected return.
|
|
339 * decl.c: Make const_ptr_type_node public.
|
|
340 * tinfo2.cc (__throw_type_match_rtti): Take the typeinfos constly.
|
|
341
|
|
342 * except.c (expand_start_catch_block): We only need the rethrow
|
|
343 region for non-sjlj exceptions.
|
|
344 (expand_end_catch_block): Likewise. Use outer_context_label_stack.
|
|
345
|
|
346 Thu Nov 20 14:40:17 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
347
|
|
348 * Make-lang.in (CXX_LIB2FUNCS): Add new op new and op delete objs.
|
|
349 (various.o): Likewise.
|
|
350 * inc/new: Add placement deletes. Add throw specs for default new.
|
|
351 * new.cc (set_new_handler): Move here from libgcc2.
|
|
352 * new1.cc (new (nothrow)): Catch a bad_alloc thrown from the handler.
|
|
353 (new): Move from libgcc2. Throw bad_alloc.
|
|
354 * new2.cc: Move the rest of the op news and op deletes from libgcc2.
|
|
355 * decl.c (init_decl_processing): Update exception specs on new and
|
|
356 delete.
|
|
357
|
|
358 * method.c (build_decl_overload_real): Don't mess with global
|
|
359 placement delete.
|
|
360
|
|
361 * init.c (build_new): Check for null throw spec, not nothrow_t.
|
|
362
|
|
363 * decl.c (duplicate_decls): Don't complain about different exceptions
|
|
364 from an internal declaration.
|
|
365
|
|
366 * call.c (build_op_delete_call): Fix check for member fns again.
|
|
367
|
|
368 * decl2.c (import_export_decl): Interface hackery affects
|
|
369 virtual synthesized methods.
|
|
370
|
|
371 Wed Nov 19 18:24:14 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
372
|
|
373 * decl.c (start_decl): Don't just complain about a mismatched
|
|
374 scope, fix it.
|
|
375
|
|
376 * decl.c (make_implicit_typename): Handle case where t is not
|
|
377 actually from context.
|
|
378 * tree.c (get_type_decl): Lose identifier case.
|
|
379 * spew.c (yylex): Lose useless call to identifier_typedecl_value.
|
|
380 * parse.y (nonnested_type): Just use lookup_name.
|
|
381 (complex_type_name): Just use IDENTIFIER_GLOBAL_VALUE.
|
|
382
|
|
383 Wed Nov 19 11:45:07 1997 Michael Tiemann <tiemann@axon.cygnus.com>
|
|
384
|
|
385 * error.c (dump_function_name): Test DECL_LANG_SPECIFIC in case
|
|
386 T was built in C language context (for example, by
|
|
387 output_func_start_profiler).
|
|
388
|
|
389 Wed Nov 19 10:39:27 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
390
|
|
391 * decl.c (make_implicit_typename): New fn.
|
|
392 (lookup_name_real): Use it. Use current_class_type as the context.
|
|
393
|
|
394 Mon Nov 17 23:42:03 1997 Bruno Haible <haible@ilog.fr>
|
|
395
|
|
396 * pt.c (do_poplevel): Don't prohibit jumps into this contour.
|
|
397
|
|
398 Mon Nov 17 02:01:28 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
399
|
|
400 * friend.c (do_friend): Warn about non-template friends in templates.
|
|
401
|
|
402 * call.c (build_op_delete_call): Fix handling of inherited delete.
|
|
403
|
|
404 * search.c (dfs_record_inheritance): Ignore template type parms.
|
|
405
|
|
406 Sat Nov 15 00:30:51 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
407
|
|
408 * call.c (build_new_op): Fix copy error.
|
|
409 (build_op_new_call): New fn.
|
|
410 (build_op_delete_call): New fn.
|
|
411 * cp-tree.h: Declare them.
|
|
412 * init.c (build_new): Use them. Support placement delete.
|
|
413 (build_x_delete): Use build_op_delete_call.
|
|
414 (build_delete): Likewise.
|
|
415 * decl2.c (delete_sanity): Likewise.
|
|
416 (coerce_delete_type): Don't complain about placement delete.
|
|
417
|
|
418 Thu Nov 13 01:52:36 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
419
|
|
420 * call.c (build_new_function_call): Remove unused 'obj' parm.
|
|
421 * cp-tree.h, typeck.c: Adjust.
|
|
422
|
|
423 * init.c (build_new): Make the cleanup last longer.
|
|
424 (expand_vec_init): Call do_pending_stack_adjust.
|
|
425
|
|
426 Wed Nov 12 11:04:33 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
427
|
|
428 * pt.c (do_type_instantiation): Fix typo.
|
|
429 (mark_class_instantiated): If we support one_only but not weak
|
|
430 symbols, don't mark this as known.
|
|
431
|
|
432 * init.c (build_new): Handle vec delete in EH cleanup.
|
|
433
|
|
434 Wed Nov 12 08:11:55 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
435
|
|
436 * call.c (build_method_call): Call complete_type before checking
|
|
437 for destructor.
|
|
438
|
|
439 Sun Nov 9 01:29:55 1997 Jim Wilson (wilson@cygnus.com)
|
|
440
|
|
441 * decl.c (add_block_current_level): Delete.
|
|
442 * init.c (build_vec_delete_1): Delete build_block and
|
|
443 add_block_current_level calls.
|
|
444
|
|
445 Wed Nov 12 00:48:16 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
446
|
|
447 * init.c (build_new): Handle freeing allocated memory when the
|
|
448 constructor throws.
|
|
449
|
|
450 * call.c (build_new_method_call): Fix flags arg.
|
|
451
|
|
452 * pt.c (do_type_instantiation): Don't try to instantiate
|
|
453 member templates.
|
|
454 (mark_decl_instantiated): If we support one_only but not
|
|
455 weak symbols, mark this one_only.
|
|
456 * decl2.c (import_export_vtable): Don't defer handling of vtables
|
|
457 if MULTIPLE_SYMBOL_SPACES.
|
|
458
|
|
459 Tue Nov 11 12:02:12 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
460
|
|
461 * except.c (expand_end_catch_block): Lose call to __sjpopnthrow.
|
|
462
|
|
463 Tue Nov 11 02:53:44 1997 Jason Merrill <jason@lasher.cygnus.com>
|
|
464
|
|
465 * except.c (do_pop_exception): Return a value.
|
|
466
|
|
467 Mon Nov 10 20:25:31 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
468
|
|
469 * call.c (build_new_method_call): Handle getting a
|
|
470 TEMPLATE_ID_EXPR around a TEMPLATE_DECL. Don't look for a field
|
|
471 if we got template parms.
|
|
472 * typeck.c (build_x_function_call): Remember the TEMPLATE_ID_EXPR,
|
|
473 not just the args.
|
|
474 * decl2.c (build_expr_from_tree): Tweak last change.
|
|
475 * pt.c (tsubst_copy): Use get_first_fn instead of TREE_VALUE.
|
|
476 (maybe_fold_nontype_arg): Split out from tsubst_copy.
|
|
477 * tree.c (get_first_fn): Just return a TEMPLATE_ID_EXPR.
|
|
478
|
|
479 Mon Nov 10 20:08:38 1997 Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
|
|
480
|
|
481 * pt.c (tsubst_copy): Handle explicit template arguments in
|
|
482 function calls.
|
|
483 * typeck.c (build_x_function_call): Likewise.
|
|
484 * decl2.c (build_expr_from_tree): Lookup function name if it
|
|
485 hasn't been done.
|
|
486
|
|
487 * pt.c (tsubst): Instantiate template functions properly when
|
|
488 template parameter does not appear in function arguments and return
|
|
489 type.
|
|
490 (comp_template_args): Handle member templates required by tsubst.
|
|
491
|
|
492 Mon Nov 10 20:08:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
493
|
|
494 * decl.c (grokdeclarator): Tweak conditions for pedwarn in
|
|
495 previous change.
|
|
496
|
|
497 Mon Nov 10 20:08:29 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
|
498
|
|
499 * pt.c (coerce_template_parms): Tweak error message.
|
|
500
|
|
501 * decl.c (grokdeclarator): If -Wreturn-type, warn everytime a
|
|
502 return type defaults to `int', even if there are storage-class
|
|
503 specifiers.
|
|
504
|
|
505 Mon Nov 10 03:04:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
506
|
|
507 Complete nested exception support.
|
|
508 * except.c (do_pop_exception): Split out...
|
|
509 (push_eh_cleanup): From here. Handle the EH region by hand.
|
|
510 (expand_start_catch_block): Add a new level for the catch parm.
|
|
511 Move the rethrow region outside the two cleanup regions.
|
|
512 Protect the initializer for the catch parm with terminate.
|
|
513 (expand_end_catch_block): Likewise. End the region for the eh_cleanup.
|
|
514 * exception.cc (__cp_pop_exception): Now takes two parms. Handle
|
|
515 popping off the middle of the stack.
|
|
516 * tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR,
|
|
517 WITH_CLEANUP_EXPR, and UNSAVE_EXPR.
|
|
518 (build_cplus_new): Only wrap CALL_EXPRs.
|
|
519 * init.c (expand_default_init): Handle a TRY_CATCH_EXPR around
|
|
520 the constructor call.
|
|
521
|
|
522 Sun Nov 9 18:00:26 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
|
523
|
|
524 * Make-lang.in (c++.distdir): Make inc subdirectory.
|
|
525
|
|
526 Fri Nov 7 11:57:28 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
527
|
|
528 * decl2.c (finish_file): Put back some code.
|
|
529
|
|
530 Thu Nov 6 11:28:14 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
531
|
|
532 * decl2.c (finish_file): Remove redundant code.
|
|
533 * method.c (emit_thunk): Don't let the backend defer generic thunks.
|
|
534
|
|
535 Wed Nov 5 23:52:50 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
536
|
|
537 * except.c (call_eh_info): Split out...
|
|
538 (push_eh_info): From here.
|
|
539 (expand_builtin_throw): Use it.
|
|
540 (expand_start_catch_block): Move region start back.
|
|
541
|
|
542 Tue Nov 4 13:45:10 1997 Doug Evans <devans@canuck.cygnus.com>
|
|
543
|
|
544 * lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
|
|
545 (real_yylex): Record wide strings using target endianness, not host.
|
|
546
|
|
547 1997-11-03 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
548
|
|
549 * repo.c (rindex): Add decl unconditionally.
|
|
550 (get_base_filename, open_repo_file): Don't cast rindex.
|
|
551 * xref.c (rindex): Add decl unconditionally.
|
|
552 (index): Remove unused decl.
|
|
553 (open_xref_file): Don't cast rindex.
|
|
554
|
|
555 Sun Nov 2 15:04:12 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
556
|
|
557 * class.c (build_vbase_path): Propagate the result type properly.
|
|
558
|
|
559 1997-11-01 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
560
|
|
561 * except.c (expand_builtin_throw) [!DWARF2_UNWIND_INFO]: Replace
|
|
562 remaining use of saved_throw_type with a call to get_eh_type.
|
|
563
|
|
564 1997-10-31 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
565
|
|
566 * lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
|
|
567 (file_name_nondirectory): New function, doing the same as the macro.
|
|
568 (set_typedecl_interface_info): Use it instead of the macro.
|
|
569 (check_newline): Likewise.
|
|
570 (handle_cp_pragma): Likewise.
|
|
571
|
|
572 * repo.c (get_base_filename): Cast result of rindex to char*.
|
|
573 (open_repo_file): Likewise.
|
|
574 * xref.c (open_xref_file): Likewise.
|
|
575 * error.c (dump_char): Make its arg int, not char.
|
|
576
|
|
577 * except.c (push_eh_info): Pass the number of fields - 1 down, not
|
|
578 the exact number of fields.
|
|
579
|
|
580 Fri Oct 31 01:47:57 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
581
|
|
582 Support for nested exceptions.
|
|
583 * tinfo2.cc (__is_pointer): New fn.
|
|
584 * exception.cc (struct cp_eh_info): Define.
|
|
585 (__cp_exception_info, __uncatch_exception): New fns.
|
|
586 (__cp_push_exception, __cp_pop_exception): New fns.
|
|
587 * except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
|
|
588 Lose empty_fndecl.
|
|
589 (init_exception_processing): Likewise. __eh_pc is now external.
|
|
590 (push_eh_info): New fn.
|
|
591 (get_eh_{info,value,type,caught}): New fns.
|
|
592 (push_eh_cleanup): Just call __cp_pop_exception.
|
|
593 (expand_start_catch_block): Use push_eh_info. Start the eh region
|
|
594 sooner.
|
|
595 (expand_end_eh_spec): Use push_eh_info.
|
|
596 (expand_throw): Call __cp_push_exception to set up the exception info.
|
|
597 Just pass the destructor or 0 as the cleanup. Call __uncatch_exception
|
|
598 when we rethrow.
|
|
599 (expand_builtin_throw): Don't refer to empty_fndecl.
|
|
600
|
|
601 Thu Oct 23 02:01:30 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
602
|
|
603 * pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.
|
|
604
|
|
605 1997-10-22 Brendan Kehoe <brendan@cygnus.com>
|
|
606
|
|
607 * method.c (build_template_parm_names, build_decl_overload_real):
|
|
608 Add static to definitions.
|
|
609 * pt.c (add_to_template_args, note_template_header,
|
|
610 processing_explicit_specialization, type_unification_real): Likewise.
|
|
611 ({determine,check}_explicit_specialization): Use a single string for
|
|
612 error messages.
|
|
613
|
|
614 Mon Oct 20 12:06:34 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
615
|
|
616 * except.c (expand_exception_blocks): Call do_pending_stack_adjust.
|
|
617 (expand_end_catch_block): Likewise.
|
|
618 (expand_end_eh_spec): Likewise.
|
|
619
|
|
620 Mon Oct 20 11:44:20 1997 Mark Mitchell <mmitchell@usa.net>
|
|
621
|
|
622 * decl.c (duplicate_decls): Handle template specializations
|
|
623 correctly.
|
|
624 * error.c (dump_function_name): Fix printing of specializations of
|
|
625 member functions that are not member templates.
|
|
626 * cp-tree.h (processing_specialization): Make global.
|
|
627 * pt.c (processing_specialization): Likewise.
|
|
628 * lex.c (cons_up_default_function): Save and restore
|
|
629 processing_specialization to avoid confusion.
|
|
630
|
|
631 Mon Oct 20 10:52:22 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
632
|
|
633 * decl.c (init_decl_processing): Give null_node unknown* type.
|
|
634 * typeck.c (comp_target_types): Handle UNKNOWN_TYPE.
|
|
635 (common_type): Likewise.
|
|
636 * error.c (args_as_string): Recognize null_node.
|
|
637
|
|
638 Sun Oct 19 09:13:01 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
|
639
|
|
640 * typeck.c (rationalize_conditional_expr): Handle {MIN,MAX}_EXPR.
|
|
641 (unary_complex_lvalue): Call it for {MIN,MAX}_EXPR.
|
|
642
|
|
643 * decl.c (init_decl_processing): Call using_eh_for_cleanups.
|
|
644
|
|
645 * Make-lang.in (g++): Include prefix.o.
|
|
646
|
|
647 Thu Oct 16 15:31:09 1997 Judy Goldberg <judygold@sanwafp.com>
|
|
648
|
|
649 * pt.c (determine_explicit_specialization): Initialize "dummy"
|
|
650 to keep Purify quiet.
|
|
651
|
|
652 Thu Oct 16 00:14:48 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
653
|
|
654 * method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
|
|
655 (build_overload_int): Not here.
|
|
656
|
|
657 Wed Oct 15 00:35:28 1997 Mike Stump <mrs@wrs.com>
|
|
658
|
|
659 * class.c (build_type_pathname): Remove.
|
|
660 (prepare_fresh_vtable): Fix problem with complex MI vtable names.
|
|
661
|
|
662 1997-10-14 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
663
|
|
664 * parse.y (unary_expr): Give a pedwarn if someone tries to use the
|
|
665 &&label GNU extension.
|
|
666
|
|
667 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
|
|
668
|
|
669 * decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
|
|
670 so as to avoid incorrect manglings.
|
|
671 * method.c (build_decl_overload_real): Don't mangle return types
|
|
672 for constructors.
|
|
673
|
|
674 Tue Oct 14 11:46:14 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
675
|
|
676 * cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec,
|
|
677 scratch_tree_cons): Define as macros for now.
|
|
678 * call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c,
|
|
679 lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c,
|
|
680 typeck2.c: Use them and the expression_obstack variants.
|
|
681
|
|
682 Mon Oct 13 17:41:26 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
683
|
|
684 * decl.c (store_return_init): Allow classes with explicit ctors to
|
|
685 be used with the named return values extension.
|
|
686
|
|
687 Fri Oct 10 12:21:11 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
688
|
|
689 * pt.c (instantiate_decl): Fix previous change.
|
|
690
|
|
691 Thu Oct 9 12:08:21 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
692
|
|
693 * pt.c (tsubst): Fix thinko.
|
|
694 (instantiate_decl): Really use the original template.
|
|
695
|
|
696 * call.c (build_new_method_call): Use simple constructor_name for
|
|
697 error messages.
|
|
698
|
|
699 Wed Oct 8 22:44:42 1997 Jeffrey A Law <law@cygnus.com>
|
|
700
|
|
701 * method.c (build_underscore_int): Don't use ANSI specific
|
|
702 features.
|
|
703
|
|
704 Wed Oct 8 00:18:22 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
705
|
|
706 * decl2.c (finish_prevtable_vardecl): Check DECL_REALLY_EXTERN
|
|
707 for our key method; it might have been inlined by -O3.
|
|
708
|
|
709 Tue Oct 7 23:00:12 1997 Mark Mitchell <mmitchell@usa.net>
|
|
710
|
|
711 * decl.c (make_typename_type): Do not try to call lookup_field for
|
|
712 non-aggregate types.
|
|
713
|
|
714 Tue Oct 7 22:52:10 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
715
|
|
716 * typeck.c (build_reinterpret_cast): Tweak.
|
|
717
|
|
718 Tue Oct 7 22:45:31 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|
719
|
|
720 * typeck.c (build_reinterpret_cast): Converting a void pointer
|
|
721 to function pointer with a reinterpret_cast produces a warning
|
|
722 if -pedantic is issued.
|
|
723
|
|
724 Tue Oct 7 22:43:43 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
|
725
|
|
726 * typeck.c (c_expand_return): Don't warn about returning a
|
|
727 reference-type variable as a reference.
|
|
728
|
|
729 Tue Oct 7 21:11:22 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
730
|
|
731 * method.c (build_static_name): Fix typo.
|
|
732
|
|
733 1997-10-07 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
734
|
|
735 * decl.c (duplicate_decls): Make sure DECL_LANG_SPECIFIC is set on
|
|
736 OLDDECL before we try to do DECL_USE_TEMPLATE.
|
|
737
|
|
738 Tue Oct 7 00:48:36 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
739
|
|
740 * decl.c (duplicate_decls): Don't warn about template instances.
|
|
741
|
|
742 * typeck.c (mark_addressable): Lose ancient code that unsets
|
|
743 DECL_EXTERNAL.
|
|
744
|
|
745 * pt.c (do_decl_instantiation): Lose support for instantiating
|
|
746 non-templates.
|
|
747
|
|
748 * call.c (build_new_function_call): Fix handling of null explicit
|
|
749 template args.
|
|
750 (build_new_method_call): Likewise.
|
|
751
|
|
752 Mon Oct 6 23:44:34 1997 Mark Mitchell <mmitchell@usa.net>
|
|
753
|
|
754 * method.c (build_underscore_int): Fix typo.
|
|
755
|
|
756 1997-10-06 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
757
|
|
758 * tree.c (print_lang_statistics): #if 0 call to
|
|
759 print_inline_obstack_statistics until its definition is checked in.
|
|
760
|
|
761 Mon Oct 6 09:27:29 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
762
|
|
763 * decl2.c (finish_file): Move dump_tree_statistics to end.
|
|
764
|
|
765 * pt.c (instantiate_decl): Look for the original template.
|
|
766 (tsubst): Set DECL_IMPLICIT_INSTANTIATION on partial instantiations
|
|
767 of member templates.
|
|
768
|
|
769 Wed Oct 1 08:41:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
770
|
|
771 * Makefile.in (g++FAQ.*): New rules.
|
|
772 (CONFLICTS): Update.
|
|
773 * g++FAQ.texi: Moved from libg++.
|
|
774
|
|
775 * parse.y (PFUNCNAME): Only specify the type once.
|
|
776
|
|
777 1997-10-01 Brendan Kehoe <brendan@lasher.cygnus.com>
|
|
778
|
|
779 * lex.c (real_yylex): Clean up the code to fully behave the way
|
|
780 the c-lex.c parser does for complex and real numbers.
|
|
781
|
|
782 Tue Sep 30 08:51:36 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
783
|
|
784 * method.c (build_decl_overload_real): Reformat.
|
|
785
|
|
786 Tue Sep 30 00:18:26 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
787
|
|
788 * method.c (synthesize_method): If at_eof, determine our linkage.
|
|
789
|
|
790 1997-09-29 Paul Eggert <eggert@twinsun.com>
|
|
791
|
|
792 * lex.c (real_yylex): Treat `$' just like `_', except issue a
|
|
793 diagnostic if !dollars_in_ident or if pedantic.
|
|
794
|
|
795 * lang-specs.h (@c++): -ansi no longer implies -$.
|
|
796
|
|
797 * decl2.c (lang_decode_option):
|
|
798 -traditional and -ansi now do not mess with
|
|
799 dollars_in_ident.
|
|
800
|
|
801 Mon Sep 29 19:57:51 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
|
|
802
|
|
803 * Makefile.in (parse.o, decl.o): Also depend on
|
|
804 $(srcdir)/../except.h $(srcdir)/../output.h.
|
|
805 (decl2.o): Also depend on $(srcdir)/../expr.h ../insn-codes.h
|
|
806 $(srcdir)/../except.h $(srcdir)/../output.h.
|
|
807 (typeck.o, init.o): Also depend on $(srcdir)/../expr.h
|
|
808 ../insn-codes.h.
|
|
809
|
|
810 * call.c, cp-tree.h, decl.c, tree.c: Finish prototyping.
|
|
811
|
|
812 * expr.c (cplus_expand_expr): Make it static.
|
|
813
|
|
814 * decl2.c, init.c, typeck.c: Include "expr.h".
|
|
815 (expand_expr): Use proper values when calling the function.
|
|
816
|
|
817 Mon Sep 29 11:05:54 1997 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|
818
|
|
819 * lang-options.h: New -Wold-style-cast flag.
|
|
820 * cp-tree.h (warn_old_style_cast): New variable.
|
|
821 * decl2.c (warn_old_style_cast): Likewise.
|
|
822 (lang_decode_option): Support -Wold-style-cast.
|
|
823 (reparse_absdcl_as_casts): Produce old-style-cast warning.
|
|
824
|
|
825 Mon Sep 29 09:20:53 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
826
|
|
827 * decl.c (cp_finish_decl): Allow expand_aggr_init to set
|
|
828 TREE_USED, reset value based on already_used.
|
|
829
|
|
830 * init.c (expand_member_init): Revert change.
|
|
831
|
|
832 Mon Sep 29 08:57:53 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
833
|
|
834 * cp-tree.h, decl.c, decl2.c, pt.c:
|
|
835 Lose DECL_C_STATIC and DECL_PUBLIC. Don't pretend statics are public.
|
|
836
|
|
837 * decl2.c (lang_decode_option): Add missing ;.
|
|
838
|
|
839 Sat Sep 27 16:22:48 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
840
|
|
841 * friend.c (do_friend): Disable injection for all template-derived
|
|
842 decls.
|
|
843 * decl2.c (lang_decode_option): Handle -fguiding-decls.
|
|
844 * parse.y (notype_template_declarator): New nonterminal.
|
|
845 (direct_notype_declarator): Use it.
|
|
846 (complex_direct_notype_declarator): Likewise.
|
|
847 (object_template_id): Accept any kind of identifier after TEMPLATE.
|
|
848 (notype_qualified_id): Don't add template declarators here.
|
|
849
|
|
850 Sat Sep 27 16:21:58 1997 Mark Mitchell <mmitchell@usa.net>
|
|
851
|
|
852 * call.c (add_template_candidate): Add explicit_targs parameter.
|
|
853 (build_scoped_method_call): Use it.
|
|
854 (build_overload_call_real): Likewise.
|
|
855 (build_user_type_conversion_1): Likewise.
|
|
856 (build_new_function_call): Likewise.
|
|
857 (build_object_call): Likewise.
|
|
858 (build_new_op): Likewise.
|
|
859 (build_new_method_call): Likewise.
|
|
860 (build_new_function_call): Handle TEMPLATE_ID_EXPR.
|
|
861 (build_new_method_call): Likewise.
|
|
862
|
|
863 * class.c (finish_struct_methods): Add specialization pass to
|
|
864 determine which methods were specializing which other methods.
|
|
865 (instantiate_type): Handle TEMPLATE_ID_EXPR.
|
|
866
|
|
867 * cp-tree.def (TEMPLATE_ID_EXPR): New tree code.
|
|
868
|
|
869 * cp-tree.h (name_mangling_version): New variable.
|
|
870 (flag_guiding_decls): Likewise.
|
|
871 (build_template_decl_overload): New function.
|
|
872 (begin_specialization): Likewise.
|
|
873 (reset_specialization): Likewise.
|
|
874 (end_specialization): Likewise.
|
|
875 (determine_explicit_specialization): Likewise.
|
|
876 (check_explicit_specialization): Likewise.
|
|
877 (lookup_template_function): Likewise.
|
|
878 (fn_type_unification): Add explicit_targs parameter.
|
|
879 (type_unification): Likewise.
|
|
880
|
|
881 * decl.c (duplicate_decls): Add smarts for explicit
|
|
882 specializations.
|
|
883 (grokdeclarator): Handle TEMPLATE_ID_EXPR, and function
|
|
884 specializations.
|
|
885 (grokfndecl): Call check_explicit_specialization.
|
|
886
|
|
887 * decl2.c (lang_decode_option): Handle -fname-mangling-version.
|
|
888 (build_expr_from_tree): Handle TEMPLATE_ID_EXPR.
|
|
889 (check_classfn): Handle specializations.
|
|
890
|
|
891 * error.c (dump_function_name): Print specialization arguments.
|
|
892
|
|
893 * friend.c (do_friend): Don't call pushdecl for template
|
|
894 instantiations.
|
|
895
|
|
896 * init.c (build_member_call): Handle TEMPLATE_ID_EXPR.
|
|
897
|
|
898 * lang-options.h: Add -fname-mangling-version, -fguiding-decls,
|
|
899 and -fno-guiding-decls.
|
|
900
|
|
901 * lex.c (identifier_type): Return PFUNCNAME for template function
|
|
902 names.
|
|
903
|
|
904 * method.c (build_decl_overload_real): New function.
|
|
905 (build_template_parm_names): New function.
|
|
906 (build_overload_identifier): Use it.
|
|
907 (build_underscore_int): New function.
|
|
908 (build_overload_int): Use it. Add levels for template
|
|
909 parameters.
|
|
910 (build_overload_name): Likewise. Also, handle TYPENAME_TYPEs.
|
|
911 (build_overload_nested_names): Handle template type parameters.
|
|
912 (build_template_decl_overload): New function.
|
|
913
|
|
914 * parse.y (YYSTYPE): New ntype member.
|
|
915 (nested_name_specifier): Use it.
|
|
916 (nested_name_specifier_1): Likewise.
|
|
917 (PFUNCNAME): New token.
|
|
918 (template_id, object_template_id): New non-terminals.
|
|
919 (template_parm_list): Note specializations.
|
|
920 (template_def): Likewise.
|
|
921 (structsp): Likewise.
|
|
922 (fn.def2): Handle member template specializations.
|
|
923 (component_decl_1): Likewise.
|
|
924 (direct_notype_declarator): Handle template-ids.
|
|
925 (component_decl_1): Likewise.
|
|
926 (direct_notype_declarator): Handle template-ids.
|
|
927 (primary): Handle TEMPLATE_ID_EXPR, and template-ids.
|
|
928
|
|
929 * pt.c (processing_specializations): New variable.
|
|
930 (template_header_count): Likewise.
|
|
931 (type_unification_real): New function.
|
|
932 (processing_explicit_specialization): Likewise.
|
|
933 (note_template_header): Likewise.
|
|
934 (is_member_template): Handle specializations.
|
|
935 (end_template_decl): Call reset_specialization.
|
|
936 (push_template_decl): Handle member template specializations.
|
|
937 (tsubst): Likewise.
|
|
938 (tsubst_copy): Handle TEMPLATE_ID_EXPR.
|
|
939 (instantiate_template): Handle specializations.
|
|
940 (instantiate_decl): Likewise.
|
|
941 (fn_type_unification): Handle explicit_targs.
|
|
942 (type_unification): Likewise. Allow incomplete unification
|
|
943 without an error message, if allow_incomplete.
|
|
944 (get_bindings): Use new calling sequence for fn_type_unification.
|
|
945
|
|
946 * spew.c (yylex): Handle PFUNCNAME.
|
|
947
|
|
948 * tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR.
|
|
949 (really_overloaded_fn): Likewise.
|
|
950 (get_first_fn): Handle function templates.
|
|
951
|
|
952 * typeck.c (build_x_function_call): Use really_overloaded_fn.
|
|
953 Handle TEMPLATE_ID_EXPR.
|
|
954 (build_x_unary_op): Likewise.
|
|
955 (build_unary_op): Likewise.
|
|
956 (mark_addressable): Templates whose address is taken are marked
|
|
957 as used.
|
|
958
|
|
959 1997-09-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
|
960
|
|
961 * decl.c (init_decl_processing): Declare __builtin_constant_p as
|
|
962 accepting any kind of type, not only int.
|
|
963
|
|
964 Fri Sep 26 00:22:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
965
|
|
966 * search.c (get_matching_virtual): Notice virtual bases when sorrying
|
|
967 about covariant returns.
|
|
968
|
|
969 * parse.y (member_init): Also imply typename here. Remove ancient
|
|
970 extension for initializing base members.
|
|
971
|
|
972 Thu Sep 25 11:11:13 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
973
|
|
974 Handle multi-level typenames and implicit typename in base list.
|
|
975 * parse.y (typename_sub{,[0-2]}): New rules.
|
|
976 (structsp, rule TYPENAME_KEYWORD): Use typename_sub.
|
|
977 (nonnested_type): New rule.
|
|
978 (complete_type_name): Use it.
|
|
979 (base_class.1): Use typename_sub and nonnested_type.
|
|
980 (nested_name_specifier): Don't elide std:: here.
|
|
981 * decl.c (make_typename_type): Handle getting a type for NAME.
|
|
982 (lookup_name_real): Turn std:: into :: here.
|
|
983
|
|
984 Rvalue conversions were removed in London.
|
|
985 * call.c (is_subseq): Don't consider lvalue transformations.
|
|
986 (build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK.
|
|
987 (joust): Re-enable ?: kludge.
|
|
988
|
|
989 1997-09-22 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
990
|
|
991 * decl.c (start_function): Up warning of no return type to be a
|
|
992 pedwarn.
|
|
993
|
|
994 Mon Sep 22 14:15:34 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
995
|
|
996 * init.c (expand_member_init): Don't set TREE_USED.
|
|
997 * decl.c (cp_finish_decl): Mark decls used if type has TREE_USED
|
|
998 set,don't clear TREE_USED wholesale.
|
|
999
|
|
1000 Sat Sep 20 15:31:00 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1001
|
|
1002 * call.c (build_over_call): Do require_complete_type before
|
|
1003 build_cplus_new.
|
|
1004
|
|
1005 Thu Sep 18 16:47:52 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1006
|
|
1007 * search.c (lookup_field): Call complete_type in all cases.
|
|
1008
|
|
1009 * decl.c (finish_function): Just warn about flowing off the end.
|
|
1010
|
|
1011 Wed Sep 17 10:31:25 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1012
|
|
1013 * decl.c (grokparms): Don't bash a permanent list node if we're
|
|
1014 in a function.
|
|
1015
|
|
1016 1997-09-17 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1017
|
|
1018 * Makefile.in (CONFLICTS): Fix s/r conflict count to 18.
|
|
1019
|
|
1020 Tue Sep 16 14:06:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1021
|
|
1022 * call.c (build_new_op): Give better error for syntactically
|
|
1023 correct, but semantically invalid, use of undeclared template.
|
|
1024
|
|
1025 * call.c (compare_qual): Handle pmfs.
|
|
1026
|
|
1027 * decl.c (store_parm_decls): last_parm_cleanup_insn is the insn
|
|
1028 after the exception spec.
|
|
1029
|
|
1030 Mon Sep 15 11:52:13 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1031
|
|
1032 * call.c (null_ptr_cst_p): Integer type, not integral type.
|
|
1033
|
|
1034 * call.c (joust): Disable warnings until they can be moved to the
|
|
1035 right place.
|
|
1036
|
|
1037 Fri Sep 12 16:11:13 1997 Per Bothner <bothner@cygnus.com>
|
|
1038
|
|
1039 * Makefile.in, config-lang.in: Convert to autoconf.
|
|
1040
|
|
1041 Thu Sep 11 17:14:55 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1042
|
|
1043 * decl.c (lookup_name_real): Add implicit 'typename' to types from
|
|
1044 base classes.
|
|
1045
|
|
1046 * pt.c (most_specialized_class): Fix typo.
|
|
1047 (tsubst): Move constant folding to TREE_VEC case.
|
|
1048
|
|
1049 Thu Sep 11 10:08:45 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1050
|
|
1051 * pt.c (do_poplevel): Don't warn about unused local variables
|
|
1052 while processing_template_decl since we don't always know whether
|
|
1053 or not they will need constructing/destructing.
|
|
1054
|
|
1055 * pt.c (uses_template_parms): Check the values of an enumeration
|
|
1056 type to make sure they don't depend on template parms.
|
|
1057
|
|
1058 * decl.c (make_typename_type): Don't lookup the field if the
|
|
1059 context uses template parms, even if we're not
|
|
1060 processing_template_decl at the moment.
|
|
1061
|
|
1062 * pt.c (coerce_template_parms): Avoid looking at the
|
|
1063 TYPE_LANG_DECL portion of a typename type, since there won't be
|
|
1064 one.
|
|
1065 (tsubst): Do constant folding as necessary to make sure that
|
|
1066 arguments passed to lookup_template_class really are constants.
|
|
1067
|
|
1068 Wed Sep 10 16:39:26 1997 Jim Wilson <wilson@cygnus.com>
|
|
1069
|
|
1070 * Make-lang.in (LN, LN_S): New macros, use where appropriate.
|
|
1071
|
|
1072 Wed Sep 10 11:21:55 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1073
|
|
1074 * except.c (expand_builtin_throw): #ifndef DWARF2_UNWIND_INFO.
|
|
1075 * decl2.c (finish_file): Only register exception tables if we
|
|
1076 need to.
|
|
1077
|
|
1078 * decl.c (init_decl_processing): Add __builtin_[fs]p.
|
|
1079
|
|
1080 Tue Sep 9 19:49:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1081
|
|
1082 * pt.c (unify): Just return 0 for a TYPENAME_TYPE.
|
|
1083
|
|
1084 Tue Sep 9 17:57:25 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1085
|
|
1086 * error.c (dump_decl): Avoid crashing when presented with a
|
|
1087 uninitialized constant, as can occur with a template parameter.
|
|
1088 (dump_expr): Make sure that there are enough levels of
|
|
1089 current_template_parms before we start diving through them.
|
|
1090
|
|
1091 1997-09-09 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1092
|
|
1093 * typeck.c (build_indirect_ref): Heed FLAG_VOLATILE similar to
|
|
1094 c-typeck.c.
|
|
1095
|
|
1096 Tue Sep 9 09:36:39 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
1097
|
|
1098 * except.c (expand_throw): Call build_delete for all
|
|
1099 exception types, not just objects with destructors.
|
|
1100
|
|
1101 Mon Sep 8 02:33:20 1997 Jody Goldberg <jodyg@idt.net>
|
|
1102
|
|
1103 * decl.c (current_local_enum): Remove static.
|
|
1104 * pt.c (tsubst_enum): Save and restore value of current_local_enum
|
|
1105 in case template is expanded in enum decl.
|
|
1106 (instantiate_class_template): Use new tsubst_enum signature.
|
|
1107 (tsubst_expr): Likewise.
|
|
1108
|
|
1109 Mon Sep 8 01:21:43 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1110
|
|
1111 * pt.c (begin_member_template_processing): Take a function as
|
|
1112 argument, not a set of template arguments. Use the template
|
|
1113 parameters, rather than the arguments. Handle non-type parameters
|
|
1114 correctly. Push a binding level for the parameters so that multiple
|
|
1115 member templates using the same parameter names can be declared.
|
|
1116 (end_member_template_processing): Pop the binding level.
|
|
1117 (push_template_decl): Mark member templates as static when
|
|
1118 appropriate.
|
|
1119
|
|
1120 * lex.c (do_pending_inlines): Pass the function, not its template
|
|
1121 arguments, to begin_member_template_processing.
|
|
1122 (process_next_inline): Likewise.
|
|
1123 (do_pending_defargs): Likewise.
|
|
1124
|
|
1125 * error.c (dump_expr): Obtain the correct declaration for a
|
|
1126 TEMPLATE_CONST_PARM.
|
|
1127
|
|
1128 * call.c (add_template_conv_candidate): New function.
|
|
1129 (build_object_call): Handle member templates, as done in the other
|
|
1130 build_ functions.
|
|
1131
|
|
1132 Sat Sep 6 10:20:27 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1133
|
|
1134 * decl.c (replace_defag): Undo previous change.
|
|
1135 * lex.c (do_pending_defargs): Deal with member templates.
|
|
1136
|
|
1137 * pt.c (is_member_template): Avoid crashing when passed a
|
|
1138 non-function argument.
|
|
1139
|
|
1140 Fri Sep 5 17:27:38 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1141
|
|
1142 * class.c (grow_method): Remove check for redeclaration.
|
|
1143
|
|
1144 Fri Sep 5 01:37:17 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1145
|
|
1146 * cp-tree.h (INNERMOST_TEMPLATE_PARMS): New macro.
|
|
1147 (DECL_INNERMOST_TEMPLATE_PARMS): Likewise.
|
|
1148 (PRIMARY_TEMPLATE_P): Use it.
|
|
1149 * call.c (build_overload_call_real): Use it.
|
|
1150 * class.c (instantiate_type): Likewise.
|
|
1151 * decl.c (decls_match): Likewise.
|
|
1152 * method.c (build_overload_identifier): Likewise.
|
|
1153 * pt.c (push_template_decl): Likewise.
|
|
1154 (classtype_mangled_name): Likewise.
|
|
1155 (lookup_template_class): Likewise.
|
|
1156
|
|
1157 * cp-tree.h (DECL_NTPARMS): Change name from DECL_NT_PARMS to
|
|
1158 DECL_NTPARMS to conform to usage elsewhere.
|
|
1159 * call.c (add_template_candidate): Likewise.
|
|
1160 * class.c (instantiate_type): Likewise.
|
|
1161 * pt.c (instantiate_template): Likewise.
|
|
1162 (get_bindings): Likewise.
|
|
1163
|
|
1164 * class.c (grow_method): Use DECL_FUNCTION_TEMPLATE_P instead of
|
|
1165 is_member_template.
|
|
1166
|
|
1167 * pt.c (unify): Undo changes to allow multiple levels of template
|
|
1168 parameters.
|
|
1169 (type_unification): Likewise.
|
|
1170 (fn_type_unification): Likewise.
|
|
1171 (get_class_bindings): Likewise.
|
|
1172 * cp-tree.h (Likewise).
|
|
1173
|
|
1174 * decl.c (replace_defarg): Check that the type of the default
|
|
1175 parameter does not invlove a template type before complaining
|
|
1176 about the initialization.
|
|
1177
|
|
1178 * error.c (dump_expr): Deal with template constant parameters in
|
|
1179 member templates correctly.
|
|
1180
|
|
1181 * pt.c (is_member_template): Deal with class specializations
|
|
1182 correctly.
|
|
1183 (tsubst): Handle "partial instantiation" of member templates
|
|
1184 correctly.
|
|
1185
|
|
1186 Wed Sep 3 12:30:24 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1187
|
|
1188 * pt.c (type_unification): Change calling sequence to allow for
|
|
1189 multiple levels of template parameters.
|
|
1190 (tsubst_expr): Likewise.
|
|
1191 (tsubst): Likewise.
|
|
1192 (tsubst_copy): Likewise.
|
|
1193 (instantiate_template): Likewise.
|
|
1194 (unify): Likewise.
|
|
1195 * call.c (build_overload_call_real): Use it.
|
|
1196 (add_builtin_candidate): Use it.
|
|
1197 (build_new_method_call): Use it.
|
|
1198 * class.c (instantiate_type): Use it.
|
|
1199 * decl.c (grokdeclarator): Use it.
|
|
1200 * decl2.c (finish_file): Use it.
|
|
1201 * method.c (build_overload_identifier): Use it.
|
|
1202
|
|
1203 * call.c (add_template_candidate): Add additional parameter for
|
|
1204 the function return type. Call fn_type_unification istead of
|
|
1205 type_unification.
|
|
1206 (build_user_type_conversion_1): Handle member templates.
|
|
1207 (build_new_function_call): Likewise.
|
|
1208 (build_new_op): Likewise.
|
|
1209 (build_new_method_call): Likewise.
|
|
1210
|
|
1211 * class.c (grow_method): Don't give an error message indicating
|
|
1212 that two member templates with the same name are ambiguous.
|
|
1213 (finish_struct): Treat member template functions just like member
|
|
1214 functions.
|
|
1215
|
|
1216 * cp-tree.h (check_member_template): Add declaration.
|
|
1217 (begin_member_template_processing): Likewise.
|
|
1218 (end_member_template_processing): Likewise.
|
|
1219 (fn_type_unification): Likewise.
|
|
1220 (is_member_template): Likewise.
|
|
1221 (tsubst): Change prototype.
|
|
1222 (tsubst_expr): Likewise.
|
|
1223 (tsubst_copy): Likewise.
|
|
1224 (instantiate_template): Likewise.
|
|
1225 (get_bindings): Likewise.
|
|
1226
|
|
1227 * decl.c (decls_match): Handle multiple levels of template
|
|
1228 parameters.
|
|
1229 (pushdecl): Handle template type params just like other type
|
|
1230 declarations.
|
|
1231 (push_class_level_binding): Return immediately if the
|
|
1232 class_binding_level is NULL.
|
|
1233 (grokfndecl): If check_classfn() returns a member_template, use
|
|
1234 the result of the template, not the template itself.
|
|
1235
|
|
1236 * decl2.c (check_member_template): New function. Check to see
|
|
1237 that the entity declared to be a member template can be one.
|
|
1238 (check_classfn): Allow redeclaration of member template functions
|
|
1239 with different types; the new functions can be specializations or
|
|
1240 explicit instantiations.
|
|
1241
|
|
1242 * error.c (dump_decl): Handle multiple levels of template
|
|
1243 parameters.
|
|
1244 (dump_function_decl): Update to handle function templates.
|
|
1245
|
|
1246 * lex.c (do_pending_inlines): Set up template parameter context
|
|
1247 for member templates.
|
|
1248 (process_next_inline): Likewise.
|
|
1249
|
|
1250 * method.c (build_overload_identifier): Adjust for multiple levels
|
|
1251 of template parameters.
|
|
1252
|
|
1253 * parse.y (fn.def2): Add member templates.
|
|
1254 (component_decl_1): Likewise.
|
|
1255
|
|
1256 * pt.c (begin_member_template_processing): New function.
|
|
1257 (end_member_template_processing): Likewise.
|
|
1258 (is_member_template): Likewise.
|
|
1259 (fn_type_unification): Likewise.
|
|
1260 (current_template_parms): Return a vector of all the template
|
|
1261 parms, not just the innermost level of parms.
|
|
1262 (push_template_decl): Deal with the possibility of member
|
|
1263 templates.
|
|
1264 (lookup_template_class): Likewise.
|
|
1265 (uses_template_parms): Likewise.
|
|
1266 (tsubst): Modify processing to TEMPLATE_TYPE_PARM and
|
|
1267 TEMPLATE_CONST_PARM to deal with multiple levels of template
|
|
1268 arguments. Add processing of TEMPLATE_DECL to produce new
|
|
1269 TEMPLATE_DECLs from old ones.
|
|
1270 (do_decl_instantiation): Handle member templates.
|
|
1271
|
|
1272 * search.c (lookup_fnfields_1): Handle member template conversion
|
|
1273 operators.
|
|
1274
|
|
1275 * tree.c (cp_tree_equal): Check the levels, as well as the
|
|
1276 indices, of TEMPLATE_CONST_PARMs.
|
|
1277
|
|
1278 * typeck.c (comptypes): Check the levels, as well as the indices,
|
|
1279 fo TEMPLATE_TYPE_PARMs.
|
|
1280 (build_x_function_call): Treat member templates like member
|
|
1281 functions.
|
|
1282
|
|
1283 Wed Sep 3 11:09:25 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1284
|
|
1285 * typeck.c (c_expand_return): Always convert_for_initialization
|
|
1286 before checking for returning a pointer to local.
|
|
1287
|
|
1288 * pt.c (type_unification): If strict and the function parm doesn't
|
|
1289 use template parms, just compare types.
|
|
1290
|
|
1291 Wed Sep 3 10:35:49 1997 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
|
|
1292
|
|
1293 * method.c (build_overloaded_value): Replace direct call
|
|
1294 to the floating point emulator with REAL_VALUE_TO_DECIMAL macro.
|
|
1295
|
|
1296 Wed Sep 3 00:02:53 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1297
|
|
1298 * typeck.c (convert_arguments): Don't arbitrarily choose the first
|
|
1299 of a set of overloaded functions.
|
|
1300
|
|
1301 Tue Sep 2 12:09:13 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1302
|
|
1303 * lex.c (real_yylex): Don't elide __FUNCTION__.
|
|
1304
|
|
1305 * method.c (build_overload_value): Add in_template parm.
|
|
1306 (build_overload_int): Likewise.
|
|
1307 (build_overload_identifier): Pass it.
|
|
1308
|
|
1309 * decl.c (duplicate_decls): Don't bash a previous template
|
|
1310 definition with a redeclaration.
|
|
1311
|
|
1312 * pt.c (unify): float doesn't match double.
|
|
1313
|
|
1314 * pt.c (do_type_instantiation): Handle getting a _TYPE or a
|
|
1315 TYPE_DECL. Handle getting non-template types.
|
|
1316 * parse.y (explicit_instantiation): Use typespec instead of
|
|
1317 aggr template_type.
|
|
1318
|
|
1319 Tue Sep 2 10:27:08 1997 Richard Henderson <rth@cygnus.com>
|
|
1320
|
|
1321 * typeck.c (build_ptrmemfunc1): Clean up ptr->int cast warnings.
|
|
1322
|
|
1323 Mon Sep 1 13:19:04 1997 Eugene Mamchits <eugin@ips.ras.ru>
|
|
1324
|
|
1325 * call.c (add_builtin_candidate): Add missing TREE_TYPE.
|
|
1326 (compare_ics): Likewise.
|
|
1327
|
|
1328 Mon Sep 1 13:19:04 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1329
|
|
1330 * call.c (joust): Warn about choosing one conversion op over
|
|
1331 another because of 'this' argument when the other return type is
|
|
1332 better.
|
|
1333 (source_type): New fn.
|
|
1334
|
|
1335 * call.c (build_new_op): Strip leading REF_BIND from first operand
|
|
1336 to builtin operator.
|
|
1337
|
|
1338 * decl2.c (mark_vtable_entries): Mark abort_fndecl as used when we
|
|
1339 use its RTL.
|
|
1340
|
|
1341 Thu Aug 28 09:45:23 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1342
|
|
1343 * call.c (null_ptr_cst_p): Remove support for (void*)0.
|
|
1344
|
|
1345 Wed Aug 27 02:03:34 1997 Jeffrey A Law <law@cygnus.com>
|
|
1346
|
|
1347 * typeck.c (expand_target_expr): Make definition match declaration.
|
|
1348
|
|
1349 * class.c (get_basefndecls): Make definition match declaration.
|
|
1350
|
|
1351 Mon Aug 25 14:30:02 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1352
|
|
1353 * input.c (sub_getch): Eventually give up and release the input file.
|
|
1354
|
|
1355 * decl.c (cp_finish_decl): If #p i/i, put inline statics in the
|
|
1356 right place.
|
|
1357
|
|
1358 * call.c (joust): Tweak message.
|
|
1359
|
|
1360 Sat Aug 23 18:02:59 1997 Mark Mitchell <mmitchell@usa.net>
|
|
1361
|
|
1362 * error.c (type_as_string): Put const/volatile on template type
|
|
1363 parameters where appropriate.
|
|
1364
|
|
1365 Sat Aug 23 17:47:22 1997 Jeffrey A Law <law@cygnus.com>
|
|
1366
|
|
1367 * call.c (strictly_better): Make arguments unsigned ints.
|
|
1368
|
|
1369 Thu Aug 21 18:48:44 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1370
|
|
1371 * lex.c (real_yylex): Refer to __complex instead of complex.
|
|
1372
|
|
1373 Thu Aug 21 22:25:46 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|
1374
|
|
1375 * lex.c (real_yylex): Don't use getc directly.
|
|
1376
|
|
1377 Wed Aug 20 17:25:08 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1378
|
|
1379 * call.c (is_subseq): Don't try to be clever.
|
|
1380
|
|
1381 Wed Aug 20 03:13:36 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
|
1382
|
|
1383 * parse.y, pt.c: Include "except.h".
|
|
1384 * call.c, class.c, class.h, cp-tree.h, cvt.c, decl.c, decl2.c,
|
|
1385 error.c, except.c, expr.c, friend.c, g++spec.c, init.c, input.c,
|
|
1386 lex.c, lex.h, method.c, parse.y, pt.c, repo.c, rtti.c, search.c,
|
|
1387 sig.c, spew.c, tree.c, typeck.c, typeck2.c, xref.c: Finish
|
|
1388 prototyping.
|
|
1389
|
|
1390 Wed Aug 20 01:34:40 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1391
|
|
1392 * decl2.c (mark_vtable_entries): Instead of replacing pure
|
|
1393 virtuals with a reference to __pure_virtual, copy the decl and
|
|
1394 change the RTL.
|
|
1395
|
|
1396 Tue Aug 19 02:26:07 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1397
|
|
1398 * pt.c (lookup_nested_type_by_name): Handle typedef wierdness.
|
|
1399
|
|
1400 * typeck2.c (my_friendly_abort): Report bugs to egcs-bugs@cygnus.com.
|
|
1401
|
|
1402 * pt.c (instantiate_class_template): Call repo_template_used
|
|
1403 before finish_prevtable_vardecl.
|
|
1404
|
|
1405 * call.c (is_subseq): New fn.
|
|
1406 (compare_ics): Use it.
|
|
1407
|
|
1408 * repo.c (finish_repo): Don't crash on no args.
|
|
1409
|
|
1410 * parse.y (named_complex_class_head_sans_basetype): Handle
|
|
1411 explicit global scope.
|
|
1412 * decl2.c (handle_class_head): New fn.
|
|
1413
|
|
1414 * pt.c (unify): Add CONST_DECL case.
|
|
1415
|
|
1416 Thu Aug 14 10:05:13 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1417
|
|
1418 * rtti.c (permanent_obstack): Fix decl to not be a pointer.
|
|
1419
|
|
1420 * cp-tree.h (report_type_mismatch): Add prototype.
|
|
1421 * call.c (build_overload_call_real): Remove erroneous fourth
|
|
1422 argument to report_type_mismatch.
|
|
1423 (build_user_type_conversion_1): Remove erroneous second arg to
|
|
1424 tourney.
|
|
1425 (build_new_function_call): Likewise.
|
|
1426 (build_object_call): Likewise.
|
|
1427 (build_new_op): Likewise.
|
|
1428 (build_new_method_call): Likewise.
|
|
1429
|
|
1430 Wed Aug 13 19:19:25 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1431
|
|
1432 * error.c (dump_decl): Don't bother processing a function with no
|
|
1433 DECL_LANG_SPECIFIC.
|
|
1434
|
|
1435 * method.c (emit_thunk): Call init_function_start in the macro case.
|
|
1436
|
|
1437 Wed Aug 13 10:46:19 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
|
1438
|
|
1439 * decl2.c (DEFAULT_VTABLE_THUNKS): Define to be 0 if not
|
|
1440 defined and used to set flag_vtable_thunks.
|
|
1441
|
|
1442 Tue Aug 12 20:13:57 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1443
|
|
1444 * parse.y: Don't clear the inlines from their obstack until they've
|
|
1445 all been processed.
|
|
1446
|
|
1447 * decl.c (duplicate_decls): Don't complain about exception
|
|
1448 specification mismatch if flag_exceptions is off.
|
|
1449
|
|
1450 Mon Aug 11 15:01:56 1997 Marc Lehmann <pcg@goof.com>
|
|
1451
|
|
1452 * Make-lang.in (c++.distclean): Remove g++.c on make distclean.
|
|
1453
|
|
1454 Sun Aug 10 12:06:09 1997 Paul Eggert <eggert@twinsun.com>
|
|
1455
|
|
1456 * cp-tree.h: Replace STDIO_PROTO with PROTO in include files.
|
|
1457 * cvt.c, error.c, except.c, expr.c, friend.c, init.c, rtti.c:
|
|
1458 Include <stdio.h> before include files that formerly used STDIO_PROTO.
|
|
1459
|
|
1460 * decl.c, g++spec.c, lex.c, method.c, repo.c:
|
|
1461 Include "config.h" first, as per autoconf manual.
|
|
1462
|
|
1463 Fri Aug 8 11:47:48 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1464
|
|
1465 * decl.c (duplicate_decls): Tweak wording.
|
|
1466 * lex.c (do_pending_defargs): Don't die if we see a default arg
|
|
1467 that isn't a DEFAULT_ARG.
|
|
1468 * error.c (dump_expr): Handle DEFAULT_ARG.
|
|
1469
|
|
1470 * decl2.c (lang_decode_option): Handle -fhandle-exceptions.
|
|
1471 * lang-options.h: Add -fhandle-exceptions.
|
|
1472
|
|
1473 * class.c (build_vtable): Vtables are artificial.
|
|
1474 (prepare_fresh_vtable): Likewise.
|
|
1475
|
|
1476 Wed Aug 6 11:02:36 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1477
|
|
1478 * cvt.c (ocp_convert): After converting to the target type, set
|
|
1479 LOOKUP_NO_CONVERSION.
|
|
1480
|
|
1481 * call.c (joust): Warn about potentially confusing promotion rules
|
|
1482 with -Wsign-promo.
|
|
1483 * cp-tree.h, lang-options.h, decl2.c: Support -Wsign-promo.
|
|
1484
|
|
1485 Tue Aug 5 15:15:07 1997 Michael Meissner <meissner@cygnus.com>
|
|
1486
|
|
1487 * exception.cc: Declare __terminate_func with noreturn attribute.
|
|
1488
|
|
1489 Fri Aug 1 03:18:15 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1490
|
|
1491 * parse.y: Break out eat_saved_input, handle errors.
|
|
1492 (function_try_block): Use compstmt instead of compstmt_or_error.
|
|
1493
|
|
1494 Thu Jul 31 17:14:04 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1495
|
|
1496 * tree.c (build_cplus_new): Don't set TREE_ADDRESSABLE.
|
|
1497
|
|
1498 Fri Jul 4 01:45:16 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
|
1499
|
|
1500 * Make-lang.in (cplib2.txt, cplib2.ready): Instead of checking for
|
|
1501 existence of cc1plus check whether $(LANGUAGES) contains C++.
|
|
1502
|
|
1503 Wed Jul 30 13:04:21 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
|
1504
|
|
1505 * method.c (do_build_copy_constructor): When copying an anonymous
|
|
1506 union member loop around to handle nested anonymous unions. Use
|
|
1507 the offset of the member relative to the outer structure, not the
|
|
1508 union.
|
|
1509
|
|
1510 Tue Jul 29 21:17:29 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1511
|
|
1512 * call.c (resolve_args): New fn.
|
|
1513 (build_new_function_call): Use it.
|
|
1514 (build_object_call): Likewise.
|
|
1515 (build_new_method_call): Likewise.
|
|
1516
|
|
1517 Mon Jul 28 16:02:36 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1518
|
|
1519 * call.c (build_over_call): tsubst all default parms from templates.
|
|
1520
|
|
1521 Wed Jul 23 13:36:25 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1522
|
|
1523 * decl.c (struct cp_function): Add static_labelno.
|
|
1524 (push_cp_function_context): Save it.
|
|
1525 (pop_cp_function_context): Restore it.
|
|
1526
|
|
1527 Tue Jul 22 14:43:29 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1528
|
|
1529 * typeck.c (build_component_ref_1): Convert from reference.
|
|
1530
|
|
1531 Tue Jul 22 11:06:23 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1532
|
|
1533 * parse.y (current_declspecs, prefix_attributes): Initialize to
|
|
1534 NULL_TREE.
|
|
1535
|
|
1536 * parse.y (initdcl0): Make sure CURRENT_DECLSPECS is non-nil
|
|
1537 before we try to force it to be a TREE_LIST.
|
|
1538 (decl): Make sure $1.t is non-nil.
|
|
1539
|
|
1540 Sun Jul 20 11:53:07 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1541
|
|
1542 * pt.c (uses_template_parms): Handle template first-parse codes.
|
|
1543
|
|
1544 * decl.c (cp_finish_decl): Only warn about user-defined statics.
|
|
1545
|
|
1546 Fri Jul 18 17:56:08 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1547
|
|
1548 * pt.c (unify): Handle BOOLEAN_TYPE.
|
|
1549
|
|
1550 * cp-tree.h: Lose PARM_DEFAULT_FROM_TEMPLATE.
|
|
1551 * pt.c (tsubst): Don't set it.
|
|
1552 * call.c (build_over_call): Use uses_template_parms.
|
|
1553
|
|
1554 Thu Jul 17 18:06:30 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1555
|
|
1556 * method.c (build_overload_nested_name): Use static_labelno
|
|
1557 instead of var_labelno.
|
|
1558 (build_qualified_name): New fn.
|
|
1559 (build_overload_name): Split out from here.
|
|
1560 (build_static_name): Use build_qualified_name.
|
|
1561 * decl.c (cp_finish_decl): Statics in extern inline functions
|
|
1562 have comdat linkage.
|
|
1563 (start_function): Initialize static_labelno.
|
|
1564
|
|
1565 Thu Jul 17 11:20:17 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
|
|
1566
|
|
1567 * class.c (finish_struct_methods): Add check of warn_ctor_dtor_privacy
|
|
1568 before "all member functions in class [] are private".
|
|
1569
|
|
1570 Wed Jul 16 23:47:08 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1571
|
|
1572 * lex.c (do_scoped_id): convert_from_reference.
|
|
1573 * init.c (build_offset_ref): Likewise.
|
|
1574
|
|
1575 Wed Jul 16 12:34:29 1997 Benjamin Kosnik <bkoz@lisa.cygnus.com>
|
|
1576
|
|
1577 * error.c (dump_expr): Check TREE_OPERAND before dump_expr_list.
|
|
1578
|
|
1579 Mon Jul 14 03:23:46 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1580
|
|
1581 * typeck.c (get_member_function_from_ptrfunc): Promote index
|
|
1582 before saving it.
|
|
1583
|
|
1584 Sun Jul 13 00:11:52 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1585
|
|
1586 * tree.c (layout_basetypes): Move non-virtual destructor warning.
|
|
1587 * decl.c (xref_basetypes): Remove non-virtual destructor warning.
|
|
1588
|
|
1589 Sat Jul 12 12:47:12 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1590
|
|
1591 * decl.c (grokdeclarator): Call add_defarg_fn for the function
|
|
1592 type, too.
|
|
1593 * lex.c (add_defarg_fn): Adjust.
|
|
1594 (do_pending_defargs): Adjust. Don't skip the first parm.
|
|
1595
|
|
1596 Fri Jul 11 01:39:50 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1597
|
|
1598 * decl.c (build_enumerator): Global enumerators are also readonly.
|
|
1599
|
|
1600 * rtti.c (build_dynamic_cast_1): Renamed from build_dynamic_cast.
|
|
1601 (build_dynamic_cast): Call it and convert_from_reference.
|
|
1602
|
|
1603 * lex.c (add_defarg_fn): New fn.
|
|
1604 (snarf_defarg): Don't add to defarg_types.
|
|
1605 (do_pending_defargs): Lose defarg_types. All fns we process now
|
|
1606 have defargs.
|
|
1607 * decl.c (grokfndecl): Call add_defarg_fn.
|
|
1608
|
|
1609 * Makefile.in (CONFLICTS): Expect 18 s/r conflicts.
|
|
1610 * cp-tree.def: Add DEFAULT_ARG.
|
|
1611 * spew.c (yylex): Call snarf_defarg as appropriate.
|
|
1612 * parse.y: New tokens DEFARG and DEFARG_MARKER.
|
|
1613 (defarg_again, pending_defargs, defarg, defarg1): New rules.
|
|
1614 (structsp): Use pending_defargs.
|
|
1615 (parms, full_parm): Use defarg.
|
|
1616 * lex.c (init_lex): Initialize inline_text_firstobj.
|
|
1617 (do_pending_inlines): Never pass the obstack to feed_input.
|
|
1618 (process_next_inline): Call end_input instead of restore_pending_input.
|
|
1619 (clear_inline_text_obstack, reinit_parse_for_expr, do_pending_defargs,
|
|
1620 finish_defarg, feed_defarg, snarf_defarg, maybe_snarf_defarg): New fns.
|
|
1621 * input.c (end_input): New fn.
|
|
1622 (sub_getch): At the end of some fed input, just keep returning EOF
|
|
1623 until someone calls end_input.
|
|
1624 Remove 'obstack' field from struct input_source.
|
|
1625 * decl.c (grokparms): Handle DEFAULT_ARG.
|
|
1626 (replace_defarg): New fn.
|
|
1627 * cp-tree.h (DEFARG_LENGTH, DEFARG_POINTER): New macros.
|
|
1628
|
|
1629 Wed Jul 9 13:44:12 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1630
|
|
1631 * call.c (implicit_conversion): If nothing else works, try binding
|
|
1632 an rvalue to a reference.
|
|
1633
|
|
1634 Wed Jul 9 13:04:38 1997 Geoffrey Noer <noer@cygnus.com>
|
|
1635
|
|
1636 * decl.c (init_decl_processing): Fix Jun 30 patch -- move
|
|
1637 ifndef for Cygwin32 to include SIGSEGV.
|
|
1638
|
|
1639 Thu Jul 3 01:44:05 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1640
|
|
1641 * class.c (finish_struct_1): Only complain about pointers without
|
|
1642 copy stuff if there are any constructors.
|
|
1643
|
|
1644 * rtti.c (build_dynamic_cast): Call complete_type on the types.
|
|
1645
|
|
1646 * decl.c (grokfndecl): If the function we chose doesn't actually
|
|
1647 match, die.
|
|
1648
|
|
1649 * decl2.c (grokclassfn): Don't specify 'const int' for the
|
|
1650 artificial destructor parm.
|
|
1651
|
|
1652 * pt.c (type_unification): If we are called recursively, nothing
|
|
1653 decays.
|
|
1654
|
|
1655 Mon Jun 30 17:53:21 1997 Geoffrey Noer <noer@cygnus.com>
|
|
1656
|
|
1657 * decl.c (init_decl_processing): Stop trying to catch signals
|
|
1658 other than SIGABRT since the Cygwin32 library doesn't support
|
|
1659 them correctly yet. This fixes a situation in which g++ causes
|
|
1660 a hang on SIGSEGVs and other such signals in our Win32-hosted
|
|
1661 tools.
|
|
1662
|
|
1663 Mon Jun 30 14:50:01 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1664
|
|
1665 * tree.c (mapcar, case CALL_EXPR): Handle all the parse node data.
|
|
1666
|
|
1667 Fri Jun 27 15:18:49 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1668
|
|
1669 * typeck2.c (store_init_value): Always return the value if our
|
|
1670 type needs constructing.
|
|
1671
|
|
1672 * method.c (hack_identifier): Convert class statics from
|
|
1673 reference, too.
|
|
1674
|
|
1675 Thu Jun 26 11:44:46 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1676
|
|
1677 * Make-lang.in (cplib2.ready): Add $(LANGUAGES) dependency.
|
|
1678
|
|
1679 Thu Jun 19 16:49:28 1997 Mike Stump <mrs@cygnus.com>
|
|
1680
|
|
1681 * typeck.c (c_expand_return): Make sure we clean up temporaries at
|
|
1682 the end of return x;
|
|
1683
|
|
1684 Thu Jun 19 12:28:43 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1685
|
|
1686 * lex.c (check_for_missing_semicolon): Also check for CV_QUALIFIER.
|
|
1687
|
|
1688 Tue Jun 17 18:35:57 1997 Mike Stump <mrs@cygnus.com>
|
|
1689
|
|
1690 * except.c (expand_builtin_throw): Add support
|
|
1691 -fno-sjlj-exceptions -fPIC exception handling on the SPARC.
|
|
1692
|
|
1693 Mon Jun 16 01:24:37 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1694
|
|
1695 * repo.c (extract_string): Null-terminate.
|
|
1696
|
|
1697 * cp-tree.h (TI_SPEC_INFO): New macro.
|
|
1698 (CLASSTYPE_TI_SPEC_INFO): New macro.
|
|
1699 * pt.c (push_template_decl): Correctly determine # of template parms
|
|
1700 for partial specs.
|
|
1701
|
|
1702 * call.c (compare_ics): Really fix 'this' conversions.
|
|
1703
|
|
1704 * pt.c (do_decl_instantiation): Don't crash on explicit inst of
|
|
1705 non-template fn.
|
|
1706
|
|
1707 * pt.c (push_template_decl): Complain about mismatch in # of
|
|
1708 template parms between a class template and a member template.
|
|
1709
|
|
1710 Sun Jun 15 02:38:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1711
|
|
1712 * method.c (synthesize_method): You can't call
|
|
1713 function_cannot_inline_p after finish_function.
|
|
1714 * decl.c (finish_function): Turn on flag_inline_functions and turn
|
|
1715 off DECL_INLINE before handing a synthesized method to the
|
|
1716 backend.
|
|
1717
|
|
1718 Thu Jun 12 17:35:28 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1719
|
|
1720 * method.c (synthesize_method): Remove July 30 change to never set
|
|
1721 DECL_INLINE if at_eof.
|
|
1722
|
|
1723 Thu Jun 12 15:25:08 1997 Mike Stump <mrs@cygnus.com>
|
|
1724
|
|
1725 * xref.c (GNU_xref_member): Ensure that the node has a
|
|
1726 decl_lang_specific part before checking DECL_FRIEND_P.
|
|
1727
|
|
1728 Thu Jun 12 12:36:05 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1729
|
|
1730 * pt.c (instantiate_class_template): Diagnose non-class types used
|
|
1731 as bases.
|
|
1732
|
|
1733 Wed Jun 11 17:33:40 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1734
|
|
1735 * typeck.c (build_conditional_expr): Use convert_for_initialization
|
|
1736 instead of convert_and_check.
|
|
1737
|
|
1738 Wed Jun 11 12:31:33 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1739
|
|
1740 * parse.y (typespec): Don't pedwarn for typeof.
|
|
1741
|
|
1742 Tue Jun 10 00:22:09 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1743
|
|
1744 * repo.c (finish_repo): Only check changes if we would write a
|
|
1745 repo file.
|
|
1746
|
|
1747 * call.c (compare_ics): Fix handling of 'this' conversions.
|
|
1748
|
|
1749 * pt.c (do_decl_instantiation): Support static data too. Rename
|
|
1750 from do_function_instantiation.
|
|
1751 * cp-tree.h: Adjust.
|
|
1752 * parse.y: Adjust.
|
|
1753
|
|
1754 * repo.c (extract_string): New fn.
|
|
1755 (get_base_filename): Use it.
|
|
1756 (init_repo): Compare old args with current args.
|
|
1757
|
|
1758 Mon Jun 9 14:25:30 1997 Mike Stump <mrs@cygnus.com>
|
|
1759
|
|
1760 * Makefile.in, Make-lang.in: Protect C-ls with a comment
|
|
1761 character, idea from Paul Eggert <eggert@twinsun.com>.
|
|
1762
|
|
1763 Mon Jun 9 01:52:03 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1764
|
|
1765 * typeck.c (c_expand_return): Be more persistent in looking for
|
|
1766 returned temps.
|
|
1767
|
|
1768 * cvt.c (build_up_reference): Use NOP_EXPR for switching from
|
|
1769 pointer to reference.
|
|
1770
|
|
1771 * class.c (build_vbase_path): Don't do anything if PATH has no steps.
|
|
1772
|
|
1773 Sun Jun 8 03:07:05 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1774
|
|
1775 * init.c (build_member_call, build_offset_ref):
|
|
1776 Use do_scoped_id instead of do_identifier.
|
|
1777
|
|
1778 * cvt.c (convert): Remove bogosity.
|
|
1779
|
|
1780 Sat Jun 7 20:50:17 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1781
|
|
1782 * cvt.c (build_up_reference): Do checks of ARGTYPE and
|
|
1783 TARGET_TYPE before trying to use get_binfo.
|
|
1784
|
|
1785 Fri Jun 6 17:36:39 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1786
|
|
1787 * cvt.c (build_up_reference): Call get_binfo to get access control.
|
|
1788
|
|
1789 * decl2.c (import_export_decl): If we don't support weaks, leave
|
|
1790 statics undefined.
|
|
1791
|
|
1792 Fri Jun 6 15:55:49 1997 Mike Stump <mrs@cygnus.com>
|
|
1793
|
|
1794 * except.c (expand_builtin_throw): Add support for machines that
|
|
1795 cannot access globals after throw's epilogue when
|
|
1796 -fno-sjlj-exceptions is used.
|
|
1797
|
|
1798 Thu Jun 5 16:28:43 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1799
|
|
1800 * parse.y: 'std::' becomes '::'.
|
|
1801 * lex.c (real_yylex): Remove 'namespace' warning.
|
|
1802 * init.c (build_member_call): Ignore 'std::'.
|
|
1803 (build_offset_ref): Likewise.
|
|
1804 * decl2.c (do_using_directive): Ignore 'using namespace std;'.
|
|
1805 (do_toplevel_using_decl): Ignore 'using std::whatever'.
|
|
1806 * decl.c (push_namespace): Just sorry.
|
|
1807 (pop_namespace): Nop.
|
|
1808 (init_decl_processing): Declare std namespace.
|
|
1809
|
|
1810 Tue Jun 3 18:08:23 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1811
|
|
1812 * search.c (push_class_decls): A name which ambiguously refers to
|
|
1813 several instantiations of the same template just refers to the
|
|
1814 template.
|
|
1815
|
|
1816 Tue Jun 3 12:30:40 1997 Benjamin Kosnik <bkoz@cirdan.cygnus.com>
|
|
1817
|
|
1818 * decl.c (build_enumerator): Fix problem with unsigned long
|
|
1819 enumerated values being smashed to ints, causing overflow
|
|
1820 when computing next enumerated value (for enum values around
|
|
1821 MAX_VAL).
|
|
1822
|
|
1823 Mon Jun 2 17:40:56 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1824
|
|
1825 * typeck.c (build_component_ref): Only call mark_used on a decl.
|
|
1826
|
|
1827 Thu May 29 15:54:17 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1828
|
|
1829 * typeck.c (build_c_cast): Make the check for a ptr to function
|
|
1830 more specific before possible default_conversion call.
|
|
1831
|
|
1832 Thu May 29 13:02:06 1997 Mike Stump <mrs@cygnus.com>
|
|
1833
|
|
1834 * except.c (expand_exception_blocks): Simplify and fix and make
|
|
1835 sure we don't end a region in a sequence, as expand_end_bindings
|
|
1836 doesn't like it.
|
|
1837
|
|
1838 Wed May 28 17:08:03 1997 Mike Stump <mrs@cygnus.com>
|
|
1839
|
|
1840 * except.c (init_exception_processing): Mark terminate as not
|
|
1841 returning so that the optimizer can optimize better.
|
|
1842
|
|
1843 Tue May 27 19:49:19 1997 Mike Stump <mrs@cygnus.com>
|
|
1844
|
|
1845 * cvt.c (convert): Don't do any extra work, if we can avoid it
|
|
1846 easily.
|
|
1847
|
|
1848 Tue May 27 18:21:47 1997 Mike Stump <mrs@cygnus.com>
|
|
1849
|
|
1850 * *.[chy]: Change cp_convert to ocp_convert, change convert to
|
|
1851 cp_convert. convert is now reserved for the backend, and doesn't
|
|
1852 have the semantics a frontend person should ever want.
|
|
1853
|
|
1854 Fri May 23 10:58:31 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1855
|
|
1856 * lang-specs.h: Define __EXCEPTIONS if exceptions are enabled.
|
|
1857 Lose -traditional support.
|
|
1858
|
|
1859 Thu May 22 15:41:28 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1860
|
|
1861 * rtti.c (get_tinfo_var): Use TYPE_PRECISION (sizetype).
|
|
1862
|
|
1863 * parse.y (self_reference): Do it for templates, too.
|
|
1864 * class.c (pushclass): Don't overload_template_name; the alias
|
|
1865 generated by build_self_reference serves the same purpose.
|
|
1866
|
|
1867 * tree.c (list_hash): Make static, take more args.
|
|
1868 (list_hash_lookup): Likewise.
|
|
1869 (list_hash_add): Make static.
|
|
1870 (list_hash_canon): Lose.
|
|
1871 (hash_tree_cons): Only build a new node if one isn't already in the
|
|
1872 hashtable.
|
|
1873 (hash_tree_chain): Use hash_tree_cons.
|
|
1874 * cp-tree.h: Adjust.
|
|
1875 * decl.c (grokfndecl): Just check IDENTIFIER_GLOBAL_VALUE instead
|
|
1876 of calling lookup_name.
|
|
1877
|
|
1878 Wed May 21 18:24:19 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1879
|
|
1880 * pt.c (instantiate_class_template): TYPE_VALUES for an enum
|
|
1881 doesn't refer to the CONST_DECLs.
|
|
1882
|
|
1883 Tue May 20 21:09:32 1997 Bob Manson <manson@charmed.cygnus.com>
|
|
1884
|
|
1885 * rtti.c (get_tinfo_var): Either INT_TYPE_SIZE or 32, whichever
|
|
1886 is bigger.
|
|
1887 (expand_class_desc): Convert the last argument to a sizetype.
|
|
1888
|
|
1889 Tue May 20 13:55:57 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1890
|
|
1891 * gxx.gperf (__complex, __complex__, __imag, __imag__, __real,
|
|
1892 __real__): Add reswords.
|
|
1893 * hash.h: Regenerate.
|
|
1894 * lex.h (rid): Add RID_COMPLEX.
|
|
1895 (RID_LAST_MODIFIER): Set to RID_COMPLEX.
|
|
1896 * lex.c (init_lex): Add building of RID_COMPLEX.
|
|
1897 (real_yylex): General cleanup in line with what c-lex.c also has,
|
|
1898 sans the cruft for traditional; add handling of SPEC_IMAG, complex
|
|
1899 types, and imaginary numeric constants.
|
|
1900 * parse.y (REALPART, IMAGPART): Add tokens.
|
|
1901 (unary_expr): Add REALPART and IMAGPART rules.
|
|
1902 * cp-tree.h (complex_{integer,float,double,long}_type_node): Declare.
|
|
1903 * decl.c (complex_{integer,float,double,long}_type_node): Define
|
|
1904 types.
|
|
1905 (init_decl_processing): Set up the types.
|
|
1906 (grokdeclarator): Add handling of RID_COMPLEX. Set and use
|
|
1907 DEFAULTED_INT instead of EXPLICIT_INT when we default to int type.
|
|
1908 * call.c (build_new_op): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
|
1909 * cvt.c (cp_convert): Handle COMPLEX_TYPE.
|
|
1910 * error.c (dump_type_prefix, dump_type, dump_type_suffix): Add
|
|
1911 COMPLEX_TYPE case.
|
|
1912 * method.c (build_overload_name): Add handling of the different
|
|
1913 COMPLEX_TYPEs, prefixing them with `J'.
|
|
1914 * pt.c (process_template_parm): Don't let them use a COMPLEX_TYPE
|
|
1915 as a template parm.
|
|
1916 (uses_template_parms, tsubst, unify): Add COMPLEX_TYPE case.
|
|
1917 * tree.c (lvalue_p): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
|
1918 (mapcar): Handle COMPLEX_CST.
|
|
1919 * typeck.c (build_binary_op_nodefault): Handle COMPLEX_TYPE.
|
|
1920 (common_type): Add code for complex types.
|
|
1921 (build_unary_op): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
|
1922 (convert_for_assignment): Likewise.
|
|
1923 (mark_addressable): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
|
1924
|
|
1925 Mon May 19 12:26:27 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1926
|
|
1927 * pt.c (tsubst): Don't pass the MINUS_EXPR for an array domain to
|
|
1928 tsubst_expr, as it might try to do overload resolution.
|
|
1929
|
|
1930 Sat May 17 10:48:31 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1931
|
|
1932 * pt.c (instantiate_class_template): Oops.
|
|
1933
|
|
1934 Fri May 16 14:23:57 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1935
|
|
1936 * cp-tree.def: Add TAG_DEFN.
|
|
1937 * pt.c (tsubst_enum): New fn.
|
|
1938 (instantiate_class_template): Use it.
|
|
1939 (tsubst_expr): Support TAG_DEFN.
|
|
1940 (tsubst): Support local enums.
|
|
1941 (tsubst_copy): Likewise.
|
|
1942 * decl.c (finish_enum): Likewise.
|
|
1943 (start_enum): If this is a local enum, switch to permanent_obstack.
|
|
1944
|
|
1945 Wed May 14 19:08:28 1997 Mike Stump <mrs@cygnus.com>
|
|
1946
|
|
1947 * decl.c (store_parm_decls): Set last_parm_cleanup_insn here.
|
|
1948 (finish_function): Put the base init code for constructors just
|
|
1949 after the parm cleanup insns.
|
|
1950 (struct cp_function): Add last_parm_cleanup_insn.
|
|
1951 (push_cp_function_context): Likewise.
|
|
1952 (pop_cp_function_context): Likewise.
|
|
1953
|
|
1954 Tue May 13 15:51:20 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1955
|
|
1956 * pt.c (tsubst_copy): Handle BIT_NOT_EXPR.
|
|
1957
|
|
1958 Wed May 7 11:17:59 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1959
|
|
1960 * method.c (emit_thunk) [ASM_OUTPUT_MI_THUNK]: Build up the RTL
|
|
1961 for THUNK_FNDECL before we switch to temporary allocation.
|
|
1962
|
|
1963 Mon May 5 14:46:53 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1964
|
|
1965 * call.c (build_new_op): Handle null arg2 for ?:.
|
|
1966
|
|
1967 Thu May 1 18:26:37 1997 Mike Stump <mrs@cygnus.com>
|
|
1968
|
|
1969 * except.c (expand_exception_blocks): Ensure that we flow through
|
|
1970 the end of the exception region for the exception specification.
|
|
1971 Move exception region for the exception specification in, so that
|
|
1972 it doesn't protect the parm cleanup. Remove some obsolete code.
|
|
1973 * decl.c (store_parm_decls): Likewise.
|
|
1974 (finish_function): Likewise.
|
|
1975
|
|
1976 Tue Apr 29 15:38:54 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1977
|
|
1978 * init.c (build_new): Fix nothrow handling.
|
|
1979
|
|
1980 Tue Apr 29 14:29:50 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1981
|
|
1982 * init.c (emit_base_init): Don't warn about the initialization
|
|
1983 list for an artificial member.
|
|
1984
|
|
1985 Fri Apr 25 17:47:59 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
1986
|
|
1987 * expr.c (do_case): Handle !START case for the error msg.
|
|
1988
|
|
1989 Fri Apr 25 11:55:23 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1990
|
|
1991 * decl2.c, lang-options.h: New option -Weffc++.
|
|
1992 * class.c, decl.c, init.c, typeck.c: Move Effective C++ warnings
|
|
1993 to -Weffc++.
|
|
1994
|
|
1995 * decl2.c (finish_prevtable_vardecl): Change NO_LINKAGE_HEURISTICS
|
|
1996 to MULTIPLE_SYMBOL_SPACES.
|
|
1997
|
|
1998 Wed Apr 23 18:06:50 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
1999
|
|
2000 * method.c (emit_thunk, generic case): Set current_function_is_thunk.
|
|
2001
|
|
2002 * method.c (emit_thunk, macro case): Set up DECL_RESULT.
|
|
2003
|
|
2004 * typeck.c (c_expand_return): Don't complain about returning void
|
|
2005 to void in an artificial function.
|
|
2006 * method.c (make_thunk): Change settings of READONLY/VOLATILE,
|
|
2007 don't set DECL_RESULT, set DECL_ARTIFICIAL.
|
|
2008 (emit_thunk, generic code): Also set up DECL_LANG_SPECIFIC.
|
|
2009
|
|
2010 Wed Apr 23 14:43:06 1997 Mike Stump <mrs@cygnus.com>
|
|
2011
|
|
2012 * init.c (init_decl_processing): Add support for setjmp/longjmp based
|
|
2013 exception handling.
|
|
2014 * except.c (init_exception_processing): Likewise.
|
|
2015 (expand_end_catch_block): Likewise.
|
|
2016 (expand_exception_blocks): Likewise.
|
|
2017 (expand_throw): Likewise.
|
|
2018 * exception.cc (__default_terminate): Likewise.
|
|
2019
|
|
2020 * init.c (perform_member_init): Use new method of expr level
|
|
2021 cleanups, instead of cleanups_this_call and friends.
|
|
2022 (emit_base_init): Likewise.
|
|
2023 (expand_aggr_vbase_init_1): Likewise.
|
|
2024 (expand_vec_init): Likewise.
|
|
2025 * decl.c (cp_finish_decl): Likewise.
|
|
2026 (expand_static_init): Likewise.
|
|
2027 (store_parm_decls): Likewise.
|
|
2028 (cplus_expand_expr_stmt): Likewise.
|
|
2029 * decl2.c (finish_file): Likewise.
|
|
2030
|
|
2031 * Make-lang.in (exception.o): Ok to compile with -O now.
|
|
2032
|
|
2033 * decl.c (maybe_build_cleanup_1): We no longer have to unsave, as
|
|
2034 we know it will be done later by the backend.
|
|
2035
|
|
2036 * decl2.c (lang_f_options): Remove support for short temps.
|
|
2037 * lang-options.h: Likewise.
|
|
2038
|
|
2039 Wed Apr 23 04:12:06 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2040
|
|
2041 * tree.c (varargs_function_p): New fn.
|
|
2042 * method.c (emit_thunk): Replace broken generic code with code to
|
|
2043 generate a heavyweight thunk function.
|
|
2044
|
|
2045 Tue Apr 22 02:45:18 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2046
|
|
2047 * pt.c (process_template_parm): pedwarn about floating-point parms.
|
|
2048
|
|
2049 * decl.c (grokdeclarator): inline no longer implies static.
|
|
2050
|
|
2051 * spew.c (yylex): Always return the TYPE_DECL if we got a scope.
|
|
2052
|
|
2053 Mon Apr 21 15:42:27 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2054
|
|
2055 * class.c (check_for_override): The signature of an overriding
|
|
2056 function is not changed.
|
|
2057
|
|
2058 * call.c (build_over_call): Move setting of conv into the loop.
|
|
2059 Note: this change, along with the related changes of the 18th thru
|
|
2060 the 20th of April, fix an infinite loop problem in conversions.
|
|
2061
|
|
2062 Sun Apr 20 16:24:29 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2063
|
|
2064 * call.c (build_user_type_conversion_1): Really ignore rvalue
|
|
2065 conversions when looking for a REFERENCE_TYPE.
|
|
2066
|
|
2067 * cvt.c (build_up_reference): Eviscerate, use build_unary_op.
|
|
2068 * cp-tree.h (TREE_REFERENCE_EXPR): #if 0.
|
|
2069 * typeck.c (decay_conversion): Don't set TREE_REFERENCE_EXPR.
|
|
2070 (build_unary_op): Likewise.
|
|
2071 * call.c (build_over_call): See through a CONVERT_EXPR around the
|
|
2072 ADDR_EXPR for on a temporary.
|
|
2073 * typeck.c (c_expand_return): See through a CONVERT_EXPR around
|
|
2074 the ADDR_EXPR for a local variable.
|
|
2075
|
|
2076 Fri Apr 18 12:11:33 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2077
|
|
2078 * call.c (build_user_type_conversion_1): If we're trying to
|
|
2079 convert to a REFERENCE_TYPE, only consider lvalue conversions.
|
|
2080 (build_new_function_call): Print candidates.
|
|
2081 (implicit_conversion): Try a temp binding if the lvalue conv is BAD.
|
|
2082 (reference_binding): Binding a temporary of a reference-related type
|
|
2083 is BAD.
|
|
2084
|
|
2085 Thu Apr 17 14:37:22 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2086
|
|
2087 * inc/typeinfo (type_info::before): Add cv-qualifier-seq.
|
|
2088 * tinfo2.cc (type_info::before): Likewise.
|
|
2089
|
|
2090 Mon Apr 14 12:38:17 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2091
|
|
2092 * call.c (implicit_conversion): Oops.
|
|
2093
|
|
2094 Fri Apr 11 02:18:30 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2095
|
|
2096 * call.c (implicit_conversion): Try to find a reference conversion
|
|
2097 before binding a const reference to a temporary.
|
|
2098
|
|
2099 Wed Apr 2 12:51:36 1997 Mike Stump <mrs@cygnus.com>
|
|
2100
|
|
2101 * exception.cc (__default_unexpected): Call terminate by default,
|
|
2102 so that if the user overrides terminate, the correct function will
|
|
2103 be called.
|
|
2104
|
|
2105 Wed Mar 19 14:14:45 1997 Mike Stump <mrs@cygnus.com>
|
|
2106
|
|
2107 * parse.y (left_curly): Avoid trying to use any fields of
|
|
2108 error_mark_node, as there aren't any.
|
|
2109
|
|
2110 Thu Mar 13 16:33:22 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2111
|
|
2112 * lex.c (do_identifier): Avoid breaking on overloaded methods
|
|
2113 as default arguments.
|
|
2114
|
|
2115 Wed Mar 12 13:55:10 1997 Hans-Peter Nilsson <Hans-Peter.Nilsson@axis.se>
|
|
2116
|
|
2117 * call.c (add_template_candidate): Initialize the variable "dummy".
|
|
2118
|
|
2119 Mon Mar 10 15:13:14 1997 Brendan Kehoe <brendan@canuck.cygnus.com>
|
|
2120
|
|
2121 * decl.c (start_decl): Make sure TYPE isn't an error_mark_node
|
|
2122 before we try to use TYPE_SIZE and TREE_CONSTANT on it.
|
|
2123
|
|
2124 Fri Mar 7 13:19:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2125
|
|
2126 * cp-tree.h (comp_ptr_ttypes, more_specialized): Add decl.
|
|
2127 (debug_binfo): Delete decl, not needed.
|
|
2128
|
|
2129 * tree.c (fnaddr_from_vtable_entry, function_arg_chain,
|
|
2130 promotes_to_aggr_type): Delete fns.
|
|
2131 * cp-tree.h (FNADDR_FROM_VTABLE_ENTRY,
|
|
2132 SET_FNADDR_FROM_VTABLE_ENTRY, FUNCTION_ARG_CHAIN,
|
|
2133 PROMOTES_TO_AGGR_TYPE): Delete alternates to #if 1.
|
|
2134
|
|
2135 * decl.c (pending_invalid_xref{,_file,_line}): Delete unused vars.
|
|
2136
|
|
2137 * friend.c (is_friend_type): Delete fn.
|
|
2138 * cp-tree.h (is_friend_type): Delete decl.
|
|
2139
|
|
2140 * decl.c (original_result_rtx, double_ftype_double,
|
|
2141 double_ftype_double_double, int_ftype_int, long_ftype_long,
|
|
2142 float_ftype_float, ldouble_ftype_ldouble, last_dtor_insn): Make static.
|
|
2143 * typeck.c (original_result_rtx, warn_synth): Delete extern decls.
|
|
2144
|
|
2145 * decl.c (push_overloaded_decl{,_top_level}): Make static, adding
|
|
2146 fwd decls.
|
|
2147 * cp-tree.h (push_overloaded_decl{,_top_level}): Delete decls.
|
|
2148
|
|
2149 * decl.c (pushdecl_nonclass_level): #if 0, unused.
|
|
2150 * cp-tree.h (pushdecl_nonclass_level): #if 0 decl.
|
|
2151
|
|
2152 * lex.c (reinit_lang_specific): #if 0, unused.
|
|
2153 * cp-tree.h (reinit_lang_specific): #if 0 decl.
|
|
2154
|
|
2155 * decl.c (revert_static_member_fn): Make static, adding fwd decl.
|
|
2156 * cp-tree.h (revert_static_member_fn): Delete decl.
|
|
2157
|
|
2158 * class.c (root_lang_context_p): Delete fn.
|
|
2159 * cp-tree.h (root_lang_context_p): Delete decl.
|
|
2160
|
|
2161 * decl.c (set_current_level_tags_transparency): #if 0, unused.
|
|
2162 * cp-tree.h (set_current_level_tags_transparency): #if 0 decl.
|
|
2163
|
|
2164 * lex.c (set_vardecl_interface_info): Make static.
|
|
2165 * cp-tree.h (set_vardecl_interface_info): Delete decl.
|
|
2166
|
|
2167 * call.c (find_scoped_type): Make static.
|
|
2168 * cp-tree.h (find_scoped_type): Delete decl.
|
|
2169
|
|
2170 * search.c (convert_pointer_to_vbase): Make static.
|
|
2171 * cp-tree.h (convert_pointer_to_vbase): Delete decl.
|
|
2172
|
|
2173 * decl.c (const_ptr_type_node): Likewise.
|
|
2174 * cp-tree.h (const_ptr_type_node): Delete decl.
|
|
2175
|
|
2176 * typeck.c (common_base_type): Make static.
|
|
2177 * cp-tree.h (common_base_types): Delete erroneous decl.
|
|
2178
|
|
2179 * pt.c (classtype_mangled_name): Make static.
|
|
2180 * cp-tree.h (classtype_mangled_name): Delete decl.
|
|
2181
|
|
2182 * lex.c (check_newline): Make static.
|
|
2183 * cp-tree.h (check_newline): Delete decl.
|
|
2184
|
|
2185 * typeck.c (build_x_array_ref): Delete fn, same idea as
|
|
2186 grok_array_decl.
|
|
2187 * cp-tree.h (build_x_array_ref): Delete decl.
|
|
2188
|
|
2189 * lex.c (copy_decl_lang_specific): Delete fn, same idea as
|
|
2190 copy_lang_decl.
|
|
2191 * cp-tree.h (copy_decl_lang_specific): #if 0 decl.
|
|
2192
|
|
2193 * class.c (build_vtable_entry): Make static.
|
|
2194 * cp-tree.h (build_vtable_entry): Delete decl.
|
|
2195
|
|
2196 * class.c (build_vbase_pointer): Make static.
|
|
2197 * cp-tree.h (build_vbase_pointer): Delete decl.
|
|
2198
|
|
2199 * sig.c (build_sptr_ref): Add forward decl and make static.
|
|
2200 * cp-tree.h (build_sptr_ref): Delete decl.
|
|
2201
|
|
2202 * call.c (build_new_method_call): Add forward decl and make static.
|
|
2203 * cp-tree.h (build_new_method_call): Delete decl.
|
|
2204
|
|
2205 * call.c (build_object_call): Make static.
|
|
2206 * class.c (check_for_override, complete_type_p, mark_overriders):
|
|
2207 Likewise.
|
|
2208 * decl.c (cp_function_chain): Likewise.
|
|
2209 * lex.c (set_typedecl_interface_info, reinit_parse_for_block):
|
|
2210 Likewise.
|
|
2211 * pt.c (comp_template_args, get_class_bindings, push_tinst_level):
|
|
2212 Likewise.
|
|
2213 * tree.c (build_cplus_array_type_1): Likewise.
|
|
2214 * typeck.c (comp_ptr_ttypes_{const,real,reinterpret}): Likewise.
|
|
2215 (comp_target_parms): Likewise.
|
|
2216
|
|
2217 * init.c (build_builtin_call): Make static.
|
|
2218 * cp-tree.h (build_builtin_call): Delete decl.
|
|
2219
|
|
2220 * typeck.c (binary_op_error): Delete decl.
|
|
2221 * cp-tree.h (binary_op_error): Likewise.
|
|
2222
|
|
2223 Thu Mar 6 16:13:52 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2224
|
|
2225 * call.c (build_method_call): Compare against error_mark_node
|
|
2226 directly, rather than the ERROR_MARK tree code.
|
|
2227 * cvt.c (cp_convert): Likewise.
|
|
2228 * decl.c (print_binding_level): Likewise.
|
|
2229 (duplicate_decls): Likewise.
|
|
2230 (grokdeclarator): Likewise.
|
|
2231 (grokdeclarator): Likewise.
|
|
2232 * init.c (expand_aggr_init_1): Likewise.
|
|
2233 (decl_constant_value): Likewise.
|
|
2234 * method.c (build_opfncall): Likewise.
|
|
2235 (hack_identifier): Likewise.
|
|
2236 * typeck.c (build_modify_expr): Likewise.
|
|
2237
|
|
2238 * typeck.c (build_c_cast): Don't decl TYPE as register tree.
|
|
2239
|
|
2240 Sun Mar 2 02:54:36 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
|
2241
|
|
2242 * pt.c (unify): Strip NOP_EXPR wrappers before unifying integer values.
|
|
2243
|
|
2244 * pt.c (coerce_template_parms): Add new error message.
|
|
2245
|
|
2246 * method.c (build_overload_value): Implement name mangling for
|
|
2247 floating-point template arguments.
|
|
2248
|
|
2249 * method.c (build_overload_int, icat, dicat): Fix mangling of template
|
|
2250 arguments whose absolute value doesn't fit in a signed word.
|
|
2251
|
|
2252 Mon Mar 3 12:14:54 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2253
|
|
2254 * friend.c: New file; put all of the friend stuff in here.
|
|
2255 * init.c: Instead of here.
|
|
2256 * Makefile.in (CXX_OBJS): Add friend.o.
|
|
2257 (friend.o): Add dependencies.
|
|
2258 * Make-lang.in (CXX_SRCS): Add $(srcdir)/cp/friend.c.
|
|
2259
|
|
2260 Sun Mar 2 11:04:43 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2261
|
|
2262 * call.c (build_scoped_method_call): Complain if the scope isn't a
|
|
2263 base.
|
|
2264
|
|
2265 Wed Feb 26 11:31:06 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2266
|
|
2267 * parse.y (left_curly): Don't crash on erroneous type.
|
|
2268
|
|
2269 * init.c (build_delete): Fix type of ref.
|
|
2270
|
|
2271 Tue Feb 25 12:41:48 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2272
|
|
2273 * search.c (get_vbase_1): Renamed from get_vbase.
|
|
2274 (get_vbase): Wrapper, now non-static.
|
|
2275 (convert_pointer_to_vbase): Now static.
|
|
2276
|
|
2277 * call.c (build_scoped_method_call): Accept a binfo for BASETYPE.
|
|
2278 * init.c (build_delete): Pass one.
|
|
2279 (build_partial_cleanup_for): Use build_scoped_method_call.
|
|
2280 * decl.c (finish_function): Pass a binfo.
|
|
2281
|
|
2282 Mon Feb 24 15:00:12 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2283
|
|
2284 * call.c (build_over_call): Only synthesize non-trivial copy ctors.
|
|
2285
|
|
2286 * typeck.c (build_c_cast): Lose other reference to flag.
|
|
2287
|
|
2288 * call.c (build_field_call): Don't look for [cd]tor_identifier.
|
|
2289 * decl2.c (delete_sanity): Remove meaningless use of
|
|
2290 LOOKUP_HAS_IN_CHARGE.
|
|
2291 * decl.c (finish_function): Use build_scoped_method_call instead
|
|
2292 of build_delete for running vbase dtors.
|
|
2293 * init.c (build_delete): Call overload resolution code instead of
|
|
2294 duplicating it badly.
|
|
2295
|
|
2296 Thu Feb 20 15:12:15 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2297
|
|
2298 * call.c (build_over_call): Call mark_used before trying to elide
|
|
2299 the call.
|
|
2300
|
|
2301 * decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
|
|
2302
|
|
2303 Wed Feb 19 11:18:53 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2304
|
|
2305 * typeck.c (build_modify_expr): Always pedwarn for a cast to
|
|
2306 non-reference used as an lvalue.
|
|
2307
|
|
2308 Wed Feb 19 10:35:37 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2309
|
|
2310 * cvt.c (cp_convert_to_pointer): Convert from 0 to a pmf properly.
|
|
2311
|
|
2312 Tue Feb 18 15:40:57 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2313
|
|
2314 * parse.y (handler): Fix template typo.
|
|
2315
|
|
2316 Sun Feb 16 02:12:28 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2317
|
|
2318 * error.c (lang_decl_name): New fn.
|
|
2319 * tree.c (lang_printable_name): Use it.
|
|
2320
|
|
2321 Fri Feb 14 16:57:05 1997 Mike Stump <mrs@cygnus.com>
|
|
2322
|
|
2323 * g++spec.c: Include config.h so that we can catch bzero #defines
|
|
2324 from the config file.
|
|
2325
|
|
2326 Tue Feb 11 13:50:48 1997 Mike Stump <mrs@cygnus.com>
|
|
2327
|
|
2328 * new1.cc: Include a declaration for malloc, to avoid warning, and
|
|
2329 avoid lossing on systems that require one (ones that define malloc
|
|
2330 in xm.h).
|
|
2331
|
|
2332 Mon Feb 10 22:51:13 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
|
|
2333
|
|
2334 * decl2.c (max_tinst_depth): New variable.
|
|
2335 (lang_decode_option): Parse "-ftemplate-depth-NN" command line
|
|
2336 option.
|
|
2337 * pt.c (max_tinst_depth): Variable moved.
|
|
2338 * lang-options.h: Declare "-ftemplate-depth-NN" command line option
|
|
2339 as legal.
|
|
2340
|
|
2341 Fri Feb 7 15:43:34 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2342
|
|
2343 * decl.c (xref_basetypes): Allow a base class that depends on
|
|
2344 template parms to be incomplete.
|
|
2345
|
|
2346 * decl2.c (build_expr_from_tree): Support typeid(type).
|
|
2347 * rtti.c (get_typeid): Support templates.
|
|
2348 (expand_si_desc, expand_class_desc): Fix string length.
|
|
2349 (expand_ptr_desc, expand_attr_desc, expand_generic_desc): Likewise.
|
|
2350
|
|
2351 Tue Feb 4 11:28:24 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2352
|
|
2353 * pt.c (unify, case TEMPLATE_CONST_PARM): Use cp_tree_equal.
|
|
2354
|
|
2355 * pt.c (tsubst): Put it back for -fno-ansi-overloading.
|
|
2356
|
|
2357 Mon Feb 3 18:41:12 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2358
|
|
2359 * pt.c (tsubst, case FUNCTION_DECL): Lose obsolete code that
|
|
2360 smashes together template and non-template decls of the same
|
|
2361 signature.
|
|
2362
|
|
2363 Thu Jan 30 19:18:00 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2364
|
|
2365 * pt.c (tsubst): Don't recurse for the type of a TYPENAME_TYPE.
|
|
2366
|
|
2367 Wed Jan 29 11:40:35 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2368
|
|
2369 * decl.c (duplicate_decls): Next route, pedwarn about different
|
|
2370 exceptions if -pedantic *or* olddecl !DECL_IN_SYSTEM_HEADER.
|
|
2371
|
|
2372 Tue Jan 28 20:43:29 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2373
|
|
2374 * cp-tree.h (HAS_DEFAULT_IMPLEMENTATION): Delete macro.
|
|
2375 (struct lang_type): Delete has_default_implementation member.
|
|
2376 Increase dummy to 21.
|
|
2377 * decl.c (start_method): Delete usage.
|
|
2378
|
|
2379 * cp-tree.h (build_call, null_ptr_cst_p, in_function_p,
|
|
2380 store_after_parms, start_decl_1, auto_function): Add decls.
|
|
2381 (get_arglist_len_in_bytes, declare_implicit_exception,
|
|
2382 have_exceptions_p, make_type_decl, typedecl_for_tag,
|
|
2383 store_in_parms, pop_implicit_try_blocks, push_exception_cleanup,
|
|
2384 build_component_type_expr, cplus_exception_name,
|
|
2385 {make,clear}_anon_parm_name, dont_see_typename): Removed decls.
|
|
2386 * call.c (build_this): Make static.
|
|
2387 (is_complete): Likewise.
|
|
2388 (implicit_conversion): Likewise.
|
|
2389 (reference_binding): Likewise.
|
|
2390 (standard_conversion): Likewise.
|
|
2391 (strip_top_quals): Likewise.
|
|
2392 (non_reference): Likewise.
|
|
2393 (build_conv): Likewise.
|
|
2394 (user_harshness): Likewise.
|
|
2395 (rank_for_ideal): Likewise.
|
|
2396 * decl.c (start_decl_1): Delete forward decl.
|
|
2397 (push_decl_level): Make static.
|
|
2398 (resume_binding_level): Make static.
|
|
2399 (namespace_bindings_p): Make static.
|
|
2400 (declare_namespace_level): Make static.
|
|
2401 (lookup_name_real): Make static.
|
|
2402 (duplicate_decls): Make static. Take register off NEWDECL and
|
|
2403 OLDDECL parm decls.
|
|
2404 * decl2.c (get_sentry): Make static.
|
|
2405 (temp_name_p): Delete fn.
|
|
2406 * except.c (auto_function): Delete decl.
|
|
2407 * lex.c (handle_{cp,sysv}_pragma): Make static.
|
|
2408 (handle_sysv_pragma) [HANDLE_SYSV_PRAGMA]: Add forward decl.
|
|
2409 * method.c (do_build_{copy_constructor,assign_ref}): Make static.
|
|
2410 * pt.c (tsubst_expr_values): Make static.
|
|
2411 * rtti.c (combine_strings): Delete decl.
|
|
2412
|
|
2413 Tue Jan 28 16:40:40 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2414
|
|
2415 * pt.c (push_template_decl): Handle getting a typedef.
|
|
2416
|
|
2417 * call.c (build_new_function_call): Complain about void arg.
|
|
2418
|
|
2419 Tue Jan 28 15:25:09 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2420
|
|
2421 * decl.c (duplicate_decls): Give pedwarn of different exceptions
|
|
2422 if -pedantic, instead of olddecl !DECL_IN_SYSTEM_HEADER.
|
|
2423
|
|
2424 Mon Jan 27 19:21:29 1997 Mike Stump <mrs@cygnus.com>
|
|
2425
|
|
2426 * except.c (expand_throw): Don't expand the cleanup tree here,
|
|
2427 since we are not going to write the rtl out. Fixes problem with
|
|
2428 -g -O on SPARC.
|
|
2429
|
|
2430 Mon Jan 27 16:24:35 1997 Sean McNeil <sean@mcneil.com>
|
|
2431
|
|
2432 * Make-lang.in: Add $(exeext) as necessary.
|
|
2433
|
|
2434 Mon Jan 27 13:20:39 1997 Mike Stump <mrs@cygnus.com>
|
|
2435
|
|
2436 * parse.y (handler_seq): Must have at least one catch clause.
|
|
2437
|
|
2438 Sat Jan 25 12:00:05 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2439
|
|
2440 * call.c (add_builtin_candidate): Restore ?: hack.
|
|
2441
|
|
2442 * decl.c (grok_op_properties): More warnings.
|
|
2443
|
|
2444 Sat Jan 25 08:50:03 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2445
|
|
2446 * decl.c (duplicate_decls): On second thought, do it as a pedwarn
|
|
2447 still but only if !DECL_IN_SYSTEM_HEADER (olddecl).
|
|
2448
|
|
2449 * decl.c (duplicate_decls): Scale back to a warning, and only do
|
|
2450 'em if -pedantic.
|
|
2451
|
|
2452 Fri Jan 24 17:52:54 1997 Mike Stump <mrs@cygnus.com>
|
|
2453
|
|
2454 * decl.c (duplicate_decls): pedwarn mismatched exception
|
|
2455 specifications.
|
|
2456
|
|
2457 Thu Jan 23 18:18:54 1997 Mike Stump <mrs@cygnus.com>
|
|
2458
|
|
2459 * call.c (build_new_method_call): Don't display the invisible
|
|
2460 argument for controlling virtual bases.
|
|
2461
|
|
2462 Thu Jan 23 16:48:10 1997 Mike Stump <mrs@cygnus.com>
|
|
2463
|
|
2464 * new: Add nothrow new and delete, bad_alloc and throw specifications
|
|
2465 for delete.
|
|
2466 * decl.c (init_decl_processing): Add throw specification for delete.
|
|
2467 * new.cc (nothrow): Define.
|
|
2468 * lex.c (real_yylex): Removing warning that throw and friends are
|
|
2469 keywords.
|
|
2470 * new1.cc (operator new (size_t sz, const nothrow_t&)): Define.
|
|
2471 * new2.cc (operator new[] (size_t sz, const nothrow_t&): Define.
|
|
2472 * Make-lang.in: Add new{1,2}.{cc,o}.
|
|
2473
|
|
2474 Thu Jan 23 16:39:06 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2475
|
|
2476 * lex.c (cons_up_default_function): Fix return type of synth op=.
|
|
2477
|
|
2478 * init.c (emit_base_init): Add warnings for uninitialized members
|
|
2479 and bases.
|
|
2480
|
|
2481 * decl.c (xref_basetypes): Add warning for non-polymorphic type
|
|
2482 with destructor used as base type.
|
|
2483
|
|
2484 * decl.c (grok_op_properties): Add warning for op= returning void.
|
|
2485 * typeck.c (c_expand_return): Add warning for op= returning anything
|
|
2486 other than *this.
|
|
2487
|
|
2488 * class.c (finish_struct_1): Add warning for class with pointers
|
|
2489 but not copy ctor or copy op=.
|
|
2490
|
|
2491 * cp-tree.h (TI_PENDING_TEMPLATE_FLAG): New macro.
|
|
2492 * pt.c (add_pending_template): Use it instead of LANG_FLAG_0.
|
|
2493 (instantiate_template): If -fexternal-templates, add this
|
|
2494 instantiation to pending_templates.
|
|
2495
|
|
2496 * decl2.c (copy_assignment_arg_p): Disable old hack to support
|
|
2497 Booch components.
|
|
2498
|
|
2499 Tue Jan 21 18:32:04 1997 Mike Stump <mrs@cygnus.com>
|
|
2500
|
|
2501 * cvt.c (cp_convert): pedwarn enum to pointer conversions.
|
|
2502
|
|
2503 Mon Jan 20 17:59:51 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2504
|
|
2505 * call.c (standard_conversion): Handle getting references. Tack
|
|
2506 on RVALUE_CONV here. Do it for non-class types, too.
|
|
2507 (reference_binding): Pass references to standard_conversion.
|
|
2508 (implicit_conversion): Likewise.
|
|
2509 (add_builtin_candidate): Disable one ?: kludge.
|
|
2510 (convert_like): Handle RVALUE_CONVs for non-class types.
|
|
2511 (joust): Disable the other ?: kludge.
|
|
2512
|
|
2513 Mon Jan 20 14:53:13 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2514
|
|
2515 * decl.c (init_decl_processing): Add code to build up common
|
|
2516 function types beforehand, to avoid creation then removal of
|
|
2517 things already in the hash table.
|
|
2518
|
|
2519 Mon Jan 20 14:43:49 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2520
|
|
2521 * decl.c (finish_function): Also zero out DECL_INCOMING_RTL for
|
|
2522 the arguments.
|
|
2523
|
|
2524 * error.c (dump_expr, TEMPLATE_CONST_PARM): Don't require
|
|
2525 current_template_parms.
|
|
2526
|
|
2527 Fri Jan 17 10:25:42 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2528
|
|
2529 * search.c (lookup_field): Don't return a function, check want_type.
|
|
2530
|
|
2531 Thu Jan 16 18:14:35 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2532
|
|
2533 * init.c (build_new): Make sure PLACEMENT has a type.
|
|
2534
|
|
2535 Thu Jan 16 17:40:28 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2536
|
|
2537 * init.c (build_new): Support new (nothrow).
|
|
2538
|
|
2539 Wed Jan 15 12:38:14 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2540
|
|
2541 * pt.c (instantiate_decl): Also do push_to_top_level before setting
|
|
2542 up DECL_INITIAL.
|
|
2543
|
|
2544 * cp-tree.h (PARM_DEFAULT_FROM_TEMPLATE): New macro.
|
|
2545 * pt.c (tsubst): Defer instantiation of default args.
|
|
2546 * call.c (build_over_call): Until here.
|
|
2547
|
|
2548 Wed Jan 15 10:08:10 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2549
|
|
2550 * search.c (lookup_field): Make sure we have an
|
|
2551 IDENTIFIER_CLASS_VALUE before we try to return it.
|
|
2552
|
|
2553 Thu Jan 9 07:19:01 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
|
|
2554
|
|
2555 * call.c (build_method_call): Delete unused var PARM.
|
|
2556 (build_overload_call_real): Likewise.
|
|
2557 (build_object_call): Delete unused var P.
|
|
2558 (build_new_op): Likewise.
|
|
2559 * decl.c (builtin_type_tdescs_{arr, len, max}): #if 0 out static
|
|
2560 var definitions, which are never used.
|
|
2561 (shadow_tag): Delete unused var FN.
|
|
2562 * expr.c (cplus_expand_expr): Delete unused var ORIGINAL_TARGET.
|
|
2563 * init.c (build_new): Delete unused var ALLOC_TEMP.
|
|
2564 * method.c (hack_identifier): Delete unused var CONTEXT.
|
|
2565 (do_build_copy_constructor): Delete unused var NAME.
|
|
2566 (synthesize_method): Delete unused var BASE.
|
|
2567 * pt.c (lookup_template_class): Delete unused var CODE_TYPE_NODE.
|
|
2568 * rtti.c (build_headof): Delete unused var VPTR.
|
|
2569 (get_typeid): Delete unused var T.
|
|
2570 * typeck.c (build_conditional_expr): Delete unused vars ORIG_OP1
|
|
2571 and ORIG_OP2.
|
|
2572 (build_ptrmemfunc): Delete unused vars U and NINDEX.
|
|
2573 * typeck2.c (build_functional_cast): Delete unused var BINFO.
|
|
2574
|
|
2575 Wed Jan 8 13:09:54 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2576
|
|
2577 * search.c (lookup_field): Use IDENTIFIER_CLASS_VALUE to look up
|
|
2578 things in a type being defined.
|
|
2579 * decl.c (finish_enum): Reverse the values so that they are in
|
|
2580 the correct order.
|
|
2581
|
|
2582 * pt.c (instantiate_class_template): Don't initialize
|
|
2583 BINFO_BASETYPES until the vector is filled out.
|
|
2584 (unify): Don't abort on conflicting bindings, just fail.
|
|
2585 (instantiate_decl): Do push_tinst_level before any tsubsting.
|
|
2586
|
|
2587 * method.c (build_overload_value): Handle getting a
|
|
2588 TEMPLATE_CONST_PARM for a pointer.
|
|
2589
|
|
2590 Tue Jan 7 14:00:58 1997 Jason Merrill <jason@yorick.cygnus.com>
|
|
2591
|
|
2592 * init.c (expand_member_init): Don't give 'not a base' error for
|
|
2593 templates.
|
|
2594
|
|
2595 * pt.c (instantiate_decl): Call import_export_decl later.
|
|
2596
|
|
2597 * pt.c (instantiate_class_template): Return a value.
|
|
2598
|
|
2599 * parse.y (extension): New rule for __extension__.
|
|
2600 (extdef, unary_expr, decl, component_decl): Use it.
|
|
2601
|
|
2602 Tue Jan 7 09:20:28 1997 Mike Stump <mrs@cygnus.com>
|
|
2603
|
|
2604 * class.c (base_binfo): Remove unused base_has_virtual member.
|
|
2605 (finish_base_struct): Likewise.
|
|
2606 (finish_struct_1): Likewise.
|
|
2607
|
|
2608
|
|
2609
|
|
2610 Copyright (C) 1997 Free Software Foundation, Inc.
|
|
2611
|
|
2612 Copying and distribution of this file, with or without modification,
|
|
2613 are permitted in any medium without royalty provided the copyright
|
|
2614 notice and this notice are preserved.
|