]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
Daily bump.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
46f018e1
GDR
12001-06-28 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
2
3 * error.c (lang_print_error_function): Add a `diagnostic_context *'
4 parameter. Tweak.
5
501990bb
NB
62001-06-27 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7
8 * decl2.c (import_export_class): Update.
9
f68fc4db
GDR
102001-06-26 Gabriel Dos Reis <gdr@codesourcery.com>
11
12 * error.c (init_error): Adjust settings.
13
9596ddd6
GDR
142001-06-26 Gabriel Dos Reis <gdr@codesourcery.com>
15
16 * error.c (init_error): Adjust settings.
17
c93586fa
RS
182001-06-19 Richard Sandiford <rsandifo@redhat.com>
19
20 * except.c (initialize_handler_parm): Expect __cxa_begin_catch to
21 return pointers to data members by reference rather than by value.
22
0d97bf4c
JM
232001-06-18 Jason Merrill <jason_merrill@redhat.com>
24
25 Implement the Named Return Value optimization.
26 * cp-tree.h (struct cp_language_function): Add x_return_value.
27 (current_function_return_value): Now a macro.
28 * decl.c: Don't define it.
29 (define_label, finish_case_label): Don't clear it.
30 (init_decl_processing): Don't register it with GC.
31 * semantics.c (genrtl_finish_function): Don't check it for
32 no_return_label. Copy the RTL from the return value to
33 current_function_return_value and walk, calling...
34 (nullify_returns_r): ...this new fn.
35 * typeck.c (check_return_expr): Set current_function_return_value.
36
13de7ec4
JM
372001-06-15 Jason Merrill <jason_merrill@redhat.com>
38
39 * class.c (dfs_accumulate_vtbl_inits): Just point to the base we're
40 sharing a ctor vtable with. Merge code for cases 1 and 2.
41 (binfo_ctor_vtable): New fn.
42 (build_vtt_inits, dfs_build_secondary_vptr_vtt_inits): Use it.
43
3ea099f1
JM
442001-06-14 Jason Merrill <jason_merrill@redhat.com>
45
46 * class.c (dfs_find_final_overrider): Fix logic.
47
48 * class.c (update_vtable_entry_for_fn): Uncomment optimization to use
49 virtual thunk instead of non-virtual.
50 (get_matching_virtual): Uncomment.
51
52 * pt.c (unify): Don't recurse between the POINTER_TYPE and the
53 OFFSET_TYPE. If we're adding cv-quals, the extra ones would be on
54 PARM, not ARG.
55
87326ba8
NS
562001-06-14 Nathan Sidwell <nathan@codesourcery.com>
57
58 * class.c (dfs_accumulate_vtbl_inits): For case 2 & 3, make sure
59 we've not emerged from the hierarchy of RTTI_BINFO on reaching
60 a non-virtual base.
61
e065a36e
MM
622001-06-13 Mark Mitchell <mark@codesourcery.com>
63
64 * NEWS: Update release number.
65
623fe76a
NS
662001-06-12 Nathan Sidwell <nathan@codesourcery.com>
67
68 PR c++/3130, c++/3131, c++/3132
69 * cp-tree.h (BINFO_UNSHARED_MARKED): New #define.
70 * class.c (force_canonical_binfo_r): Move
71 BINFO_UNSHARED_MARKED, BINFO_LOST_PRIMARY_P. Don't move
72 virtual bases unless they're primary and what they're primary
73 too has been moved.
74 (dfs_unshared_virtual_bases): Use BINFO_UNSHARED_MARKED. Cope
75 with morally virtual bases. Duplicate BINFO_LOST_PRIMARY_P and
76 BINFO_PRIMARY_BASE_OF. Clear BINFO_VTABLE for all but the most
77 derived binfo.
78 (mark_primary_bases): Use BINFO_UNSHARED_MARKED.
79 (layout_nonempty_base_or_field): Add most derived type
80 parameter. Adjust.
81 (layout_empty_base): Likewise.
82 (build_base_field): Likewise.
83 (build_base_fields): Likewise.
84 (propagate_binfo_offsets): Add most derived type
85 parameter. Skip non canonical virtual bases too.
86 (dfs_set_offset_for_unshared_vbases): Don't skip primary
87 bases. Do skip canonical bases.
88 (layout_virtual_bases): Adjust.
89 (layout_class_type): Adjust.
90 (dfs_get_primary_binfo): Build list of virtual primary base
91 candidates.
92 (get_primary_binfo): Check that the shared virtual primary
93 base candidate was found first.
94 (accumulate_vtbl_inits): Don't do anything for non-vptr
95 containing binfos. For case 1 primary virtual bases, keep
96 checking that we've not emerged from the hierarchy of RTTI_BINFO.
97
7bdcf888
NS
982001-06-12 Nathan Sidwell <nathan@codesourcery.com>
99
100 PR c++/3089
101 * class.c (dfs_accumulate_vtbl_inits): Always walk down the
102 hierarchy looking for primary bases for a ctor
103 vtable. Recursively call oneself, if we meet our primary via
104 this route and haven't met it yet via inheritance graph order.
105
25b5b465
MM
1062001-06-11 Mark Mitchell <mark@codesourcery.com>
107
108 * lang-options.h: Emit documentation for -fno-honor-std, not
109 -fhonor-std.
110
eb2d0614
AO
1112001-06-10 Alexandre Oliva <aoliva@redhat.com>
112
113 * typeck.c (get_member_function_from_ptrfunc) [vbit_in_delta]:
114 Don't clobber delta.
115 (expand_ptrmemfunc_cst) [ptrmemfunc_vbit_in_delta]: Adjust pfn.
116
2a2b2d43
GDR
1172001-06-10 Mark Mitchell <mark@codesourcery.com>
118 Gabriel Dos Reis <gdr@codesourcery.com>
119
120 * Make-lang.in (cp/call.o): Depend on diagnostic.h
121 (cp/typeck.o): Depend on diagnostic.h
122 (cp/typeck2.o): Depend on diagnostic.h
123 (cp/repo.o): Depend on dignostic.h
124 * typeck.c: #include diagnostic.h
125 (convert_for_initialization): Remove extern declaration for
126 warningcount and errorcount.
127
128 * call.c: #include diagnostic.h
129 (convert_like_real): Remove extern declaration for warnincount and
130 errorcount.
131
132 * repo.c: #include diagnostic.h
133 * typeck2.c: #include diagnostic.h
134
06d5e633
NS
1352001-06-08 Nathan Sidwell <nathan@codesourcery.com>
136
137 * decl.c (duplicate_decls): Fix DECL_TEMPLATE_RESULT thinko
138 in previous change.
139
9ac1bd2e
NS
1402001-06-08 Nathan Sidwell <nathan@codesourcery.com>
141
142 PR c++/2929
143 * friend.c (do_friend): Use push_decl_namespace for classes at
144 namespace scope.
145
85a9a0a2
NS
1462001-06-08 Nathan Sidwell <nathan@codesourcery.com>
147 Jason Merrill <jason_merrill@redhat.com>
148
149 PR c++/3061
150 * class.c (build_secondary_vtable): Use assert, rather than an error
151 message.
152 (dfs_fixup_binfo_vtbls): BINFO_VTABLE might be NULL.
153 (dfs_accumulate_vtbl_inits): A lost primary virtual base may
154 be between ORIG_BINFO and RTTI_BINFO, but neither of them.
155 Don't set BINFO_VTABLE for a primary virtual base.
156
daa8df65
MM
1572001-06-07 Mark Mitchell <mark@codesourcery.com>
158
159 * decl.c (duplicate_decls): Update source position information
160 when a template function is defined.
161
37344b9b
PE
1622001-06-07 Phil Edwards <pme@sources.redhat.com>
163
164 * lang-specs.h: Move -D_GNU_SOURCE to config/linux.h.
165
fcebb2dd
NS
1662001-06-07 Nathan Sidwell <nathan@codesourcery.com>
167
168 PR c++/2914
169 * decl.c (pushtag): Don't push into a complete type's scope.
170
d0cd8b44
JM
1712001-06-06 Jason Merrill <jason_merrill@redhat.com>
172
173 * cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose.
174 (struct lang_decl_flags): Lose generate_with_vtable_p.
175 (BV_GENERATE_THUNK_WITH_VTABLE_P): Lose.
176 * class.c (copy_virtuals): Adjust.
177 * decl2.c (mark_vtable_entries): Adjust.
178 * method.c (make_thunk, build_vtable_entry): Adjust.
179 * class.c (update_vtable_entry_for_fn): Only look as far as the
180 first defining class.
181 (build_vtbl_initializer): Put nothing in the slot for a function only
182 defined in a lost primary virtual base.
183 (add_vcall_offset_vtbl_entries_1): Use the same code for
184 the lost primary case and the normal case.
185 (dfs_unshared_virtual_bases): Don't lose a non-virtual primary base.
186 (get_vfield_offset, get_derived_offset): Lose.
187 (dfs_find_final_overrider): Use look_for_overrides_here.
188 (get_matching_virtual): New fn.
189 * semantics.c (emit_associated_thunks): Check BV_USE_VCALL_INDEX_P,
190 not BV_VCALL_INDEX.
191 * search.c (look_for_overrides_here): Split out from...
192 (look_for_overrides_r): Here.
193
194 * class.c (find_final_overrider): Return error_mark_node on error.
195
196 * decl2.c (key_method): #if 0 accidental change.
197
acf97e0b
JDA
1982001-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
199
200 * call.c (convert_default_arg): Use INTEGRAL_TYPE_P.
201 (build_over_call): Likewise.
202 * decl.c (grokparms): Likewise.
203 * pt.c (tsubst_decl): Likewise.
204 * typeck.c (convert_arguments): Likewise.
205
7e9abee9
MM
2062001-06-05 Mark Mitchell <mark@codesourcery.com>
207
47ee8904
MM
208 * semantics.c (begin_class_definition): Robustify.
209
7e9abee9
MM
210 * pt.c (instantiate_decl): Tell the repository code about the
211 clones, not the cloned functions.
212 * repo.c (repo_template_used): Explicitly instantiate the cloned
213 function, not the clones.
214
bea09693
NS
2152001-06-05 Nathan Sidwell <nathan@codesourcery.com>
216
217 * call.c (build_user_type_conversion_1): Set ICS_USER_FLAG and
218 ICS_BAD_FLAG on created conversion.
219 (compare_ics): Break out rank.
220
8f7550ca
NS
2212001-06-05 Nathan Sidwell <nathan@codesourcery.com>
222
223 * decl.c (xref_tag): Remove extraneous %s on dependent name
224 lookup warning.
225
442e01b6
NS
2262001-06-05 Nathan Sidwell <nathan@codesourcery.com>
227
228 * class.c (layout_vtable_decl): Fix off by one error on
229 build_index_type.
230 (build_vtt): Likewise.
231 (build_ctor_vtbl_group): Likewise.
232
b7442fb5
NS
2332001-06-05 Nathan Sidwell <nathan@codesourcery.com>
234
235 * class.c (maybe_indent_hierarchy): New function.
236 (dump_class_hierarchy_r): Add flags. Dump extra binfo
237 information, if enabled. Use maybe_indent_hierarchy. Adjust
238 output format.
239 (dump_class_hierarchy): Adjust prototype. Adjust output format.
240 (dump_array, dump_vtable, dump_vtt): New functions.
241 (finish_struct_1): Adjust hierarchy dumping.
242 (initialize_vtable): Call dump_vtable.
243 (build_vtt): Call dump_vtt.
244 (build_ctor_vtbl_group): Call dump_vtable.
245 * decl2.c (flag_dump_class_layout): Remove.
246 (cxx_decode_option): Remove dump translation unit
247 and dump class hierarchy check. Call dump_switch_p.
248 (finish_file): Adjust dumping.
249 (dump.c): Only dump base classes if not TDF_SLIM.
250 Only dump namespace members if not TDF_SLIM.
251 * optimize.c (dump_function): New function.
252 (optimize_function): Call dump_function.
253 * semantics.c (expand_body): Use dump_enabled_p.
254
e5410b32
NS
2552001-06-01 Nathan Sidwell <nathan@codesourcery.com>
256
257 PR g++/2936
258 Part missed from first commit
259 * decl2.c (finish_anon_union): Copy context.
260
e97c9488
NS
2612001-05-30 Nathan Sidwell <nathan@codesourcery.com>
262
263 PR g++/2936
e97c9488
NS
264 * optimize.c (remap_decl): Remap anonymous aggregate members too.
265
87d9ac49
NS
2662001-05-26 Nathan Sidwell <nathan@codesourcery.com>
267
268 PR g++/2823
269 * semantics.c (expand_body): Don't optimize thunks.
270
88657302
RH
2712001-05-25 Sam TH <sam@uchicago.edu>
272
273 * cp-tree.h lex.h: Fix header include guards.
274
2752001-05-25 Mark Mitchell <mark@codesourcery.com>
10841285
MM
276
277 * decl.c (init_decl_processing): Tweak.
278
0b1161fc
MM
2792001-05-24 Mark Mitchell <mark@codesourcery.com>
280
281 * decl.c (duplicate_decls): Tidy.
282 (init_decl_processing): Always set flag_no_builtin.
283
6f56d925
NS
2842001-05-24 Nathan Sidwell <nathan@codesourcery.com>
285
286 PR c++/2184
287 * decl2.c (do_local_using_decl): Push the decls, even in a
288 template.
289
39e0656d
MM
2902001-05-22 Mark Mitchell <mark@codesourcery.com>
291
292 * optimize.c (initialize_inlined_parameters): Don't set
293 TREE_READONLY for a VAR_DECL taking the place of an inlined
294 PARM_DECL.
295
0401d499
JM
2962001-05-22 Jason Merrill <jason_merrill@redhat.com>
297
298 * class.c, cp-tree.h, rtti.c: Remove com_interface attribute support.
299 * tree.c (cp_valid_lang_attribute): Warn about use of com_interface
300 attribute.
301
14fc3426
JM
3022001-05-22 Joseph S. Myers <jsm28@cam.ac.uk>
303
304 * parse.y: Refer to compound literals as such, not as
305 constructor-expressions.
306
3f41ffd8
MM
3072001-05-21 Mark Mitchell <mark@codesourcery.com>
308
309 * call.c (build_op_delete_call): Ignore exception-specifications
310 when looking for matching delete operators.
311 * init.c (build_new_1): Compute whether or not the allocation
312 function used is a placement allocation function or not, and
313 communicate this information to build_op_delete_call.
314
1a6025b4
JM
3152001-05-21 Jason Merrill <jason_merrill@redhat.com>
316
90ecce3e
JM
317 * class.c (build_vtable_entry_ref): Lose vtbl parm. Fix for new abi.
318 (build_vtbl_ref): Adjust.
319 (dfs_accumulate_vtbl_inits): Set TREE_CONSTANT on the vtable address.
320 * decl2.c (lang_f_options): Remove huge-objects, vtable-thunks.
321 Re-add vtable-gc.
322 (unsupported_options): Correspondingly.
323
324 * decl2.c (maybe_make_one_only): Check flag_weak, not
325 supports_one_only().
326
1a6025b4
JM
327 * cp-tree.def (START_CATCH_STMT): Lose.
328 * dump.c (cp_dump_tree): Don't dump it. Do dump HANDLER_PARMS.
329 * tree.c (cp_statement_code_p): Don't case it.
330 * semantics.c (cp_expand_stmt): Likewise.
331 * cp-tree.h (START_CATCH_TYPE): Lose.
332 (HANDLER_TYPE): New.
333 * except.c (expand_start_catch_block): Don't start any blocks.
334 Return the type.
335 (expand_end_catch_block): Don't end any blocks.
336 * parse.y (handler): Don't pass anything from finish_handler_parms
337 to finish_handler.
338 * pt.c (tsubst_expr): Likewise.
339 * semantics.c (begin_handler): Call note_level_for_catch here.
340 (finish_handler_parms): Don't return anything.
341 (genrtl_catch_block, begin_catch_block): Lose.
342 (genrtl_handler): Call expand_start_catch here.
343
3442001-05-18 Jason Merrill <jason_merrill@redhat.com>
345
346 * class.c (build_vtable): Set DECL_ASSEMBLER_NAME for vtables here.
347 (get_vtable_decl, build_vtt): Not here.
348
d30a825a
NS
3492001-05-20 Nathan Sidwell <nathan@codesourcery.com>
350
351 PR c++/2781
352 * optimize.c (update_cloned_parm): Copy addressability and other
353 flags.
354
3b82c249
KL
3552001-05-20 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
356
357 * pt.c (determine_specialization): Ignore artificial functions.
358
2a967f3d
NB
3592001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
360
361 * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
362 (C_RID_CODE): Remove.
363 * lex.c (cxx_init_options): Call set_identifier_size. Update.
364 (init_parse): Don't do it here.
365
f99df08e
DN
3662001-05-18 Diego Novillo <dnovillo@redhat.com>
367
368 * decl2.c (finish_objects): Use the original SYMBOL_REF from the
369 function declaration to avoid stripping the symbol's attributes.
370
2b0cbc5d
NS
3712001-05-18 Nathan Sidwell <nathan@codesourcery.com>
372
373 * decl.c (pushdecl): Adjust error string.
374 (xref_tag): Adjust friend class injection warning. Remove the
375 inherited name from the class shadowed scope.
376
e6855a2d
MM
3772001-05-17 Mark Mitchell <mark@codesourcery.com>
378
379 * except.c (cp_protect_cleanup_actions): New function.
380 (init_exception_processing): Don't set protect_cleanup_actions
381 here. Do set lang_protect_cleanup_actions.
382
cc469ee9
NS
3832001-05-16 Nathan Sidwell <nathan@codesourcery.com>
384
385 * spew.c (read_token): Call yyerror on all unexpected tokens.
386
3f0a9b35
NS
3872001-05-16 Nathan Sidwell <nathan@codesourcery.com>
388
389 * init.c (member_init_ok_or_else): Take a tree rather than
390 string for name.
391 (expand_member_init): Adjust.
392
8d0cb60d
NC
3932001-05-14 Nick Clifton <nickc@cambridge.redhat.com>
394
395 * decl.c (duplicate_decls): Suppress warning about duplicate
396 decls if the first decl is a friend.
397
1f730ff7
ZW
3982001-05-12 Zack Weinberg <zackw@stanford.edu>
399
400 * except.c (choose_personality_routine): Export. Add
401 explanatory comment. Take an enum languages, not a boolean.
402 (initialize_handler_parm): Adjust to match.
403 * cp-tree.h: Prototype choose_personality_routine.
404 * lex.c (handle_pragma_java_exceptions): New function.
405 (init_cp_pragma): Register #pragma GCC java_exceptions.
406
90e0c410
NB
4072001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
408
409 * method.c (build_mangled_C99_name): Remove unused prototype.
410
cb7fdde2
AO
4112001-05-12 Alexandre Oliva <aoliva@redhat.com>
412
413 * cp-tree.h (ptrmemfunc_vbit_where_t): Declare type.
414 * typeck.c (get_member_function_from_ptrfunc,
415 build_ptrmemfunc, expand_ptrmemfunc_cst): Take
416 TARGET_PTRMEMFUNC_VBIT_LOCATION into account.
18ae7f63
AO
417
418 Reverted Geoff Keating's 2001-05-03's patch.
419
401deb20
IR
4202001-05-11 Ira Ruben <ira@apple.com>
421
422 * cp/cp-tree.h (C_EXP_ORIGINAL_CODE): Delete; declared in c-common.h.
423
8e93d446
NB
4242001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
425
426 * cp-tree.h (finish_label_expr, lookup_label): Delete.
427 * parse.y: Update for '&&'; don't issue warning here.
428 * semantics.c (finish_label_expr): Delete.
429
5cdba4ff
MM
4302001-05-07 Mark Mitchell <mark@codesourcery.com>
431
432 * splay-tree.h (splay_tree_max): New function.
433 (splay_tree_min): Likewise.
434
8e9eff6b
GK
4352001-05-03 Geoffrey Keating <geoffk@redhat.com>
436
437 * cp-tree.h (enum cp_tree_index): Add CPTI_PFN_VFLAG_IDENTIFIER.
438 (pfn_vflag_identifier): Define.
439 Update comment about layout of pointer functions.
440 (build_ptrmemfunc1): Update prototype.
441 (expand_ptrmemfunc_cst): Update prototype.
442 * decl.c (initialize_predefined_identifiers): Initialize
443 pfn_vflag_identifier.
444 (build_ptrmemfunc_type): When FUNCTION_BOUNDARY < 16, add
445 an extra field to the type.
446 * expr.c (cplus_expand_constant): Pass 'flag' between
447 expand_ptrmemfunc_cst and build_ptrmemfunc1.
448 * typeck.c (get_member_function_from_ptrfunc): When
449 FUNCTION_BOUNDARY < 16, look at additional field to determine
450 if a pointer-to-member is a real pointer or a vtable offset.
451 (build_ptrmemfunc1): Add new parameter to contain extra field.
452 (build_ptrmemfunc): Pass the extra field around.
453 (expand_ptrmemfunc_cst): Add new parameter to return extra field.
454 (pfn_from_ptrmemfunc): Ignore the extra field.
455
acc72c37
MM
4562001-05-03 Mark Mitchell <mark@codesourcery.com>
457
458 * cp-tree.h (flag_inline_trees): Update documentation.
459 * decl.c (init_decl_processing): Adjust handling of
460 flag_inline_functions and flag_inline_trees to support -O3.
461 (grokfndecl): Set DECL_INLINE on all functions if that's what
462 the user requested.
463 (save_function_data): Clear DECL_INLINE in
464 current_function_cannot_inline is non-NULL.
465 * decl2.c (flag_inline_trees): Update documentation.
466
5158d7ee
NS
4672001-05-03 Nathan Sidwell <nathan@codesourcery.com>
468
469 * dump.c (cp_dump_tree, USING_STMT case): New case.
470 * tree.c (cp_statement_code_p): Add USING_STMT.
471 * decl2.c (do_using_directive): Add the using directive statement.
472
473 * tree.c (walk_tree): Reformat an if block.
474
80f5bb34
MM
4752001-05-02 Mark Mitchell <mark@codesourcery.com>
476
477 * decl.c (compute_array_index_type): Don't try to do anything with
478 the indices when processing a template.
479
3e411c3f
KG
4802001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
481
482 * call.c: NULL_PTR -> NULL.
483 * class.c: Likewise.
484 * cvt.c: Likewise.
485 * decl.c: Likewise.
486 * decl2.c: Likewise.
487 * except.c: Likewise.
488 * init.c: Likewise.
489 * rtti.c: Likewise.
490 * search.c: Likewise.
491 * tree.c: Likewise.
492 * typeck.c: Likewise.
493 * typeck2.c: Likewise.
494
46188dca
MM
4952001-05-02 Mark Mitchell <mark@codesourcery.com>
496
497 * decl2.c (do_using_directive): Revert previous patch.
498
9da99f7d
NS
4992001-05-01 Nathan Sidwell <nathan@codesourcery.com>
500
501 * cp-tree.def (USING_STMT): New statement node.
502 * cp-tree.h (USING_STMT_NAMESPACE): New macro.
503 * decl2.c (do_using_directive): Add USING_STMT to statement
504 tree. Don't emit errors when processing template decl.
505 * pt.c (tsubst_expr, USING_STMT case): New case.
506 * semantics.c (cp_expand_stmt, USING_STMT case): New case.
507
4b48a93e
NS
5082001-05-01 Nathan Sidwell <nathan@codesourcery.com>
509
510 * call.c (build_new_op): Convert args from reference here.
511 (build_conditional_expr): Don't convert here.
512
1bcea8d7
NS
5132001-05-01 Nathan Sidwell <nathan@codesourcery.com>
514
515 * spew.c (last_token_id): New static variable.
516 (read_token): Set it here.
517 (yyerror): Use it here.
518
d72040f5
RH
5192001-04-30 Richard Henderson <rth@redhat.com>
520
521 * cvt.c: Downcase C_PROMOTING_INTEGER_TYPE_P invocations.
522 * decl.c: Likewise.
523
c3aac512
MM
5242001-04-30 Mark Mitchell <mark@codesourcery.com>
525
526 * gxxint.texi: Remove.
527 * Make-lang.in: Remove all traces of gxxint.texi.
528
5fd893d5
MM
529Mon Apr 30 16:14:10 2001 Mark P Mitchell <mark@codesourcery.com>
530
531 * decl2.c (start_static_initialization_or_destruction): Correct
532 logic to handle the -fno-use-cxa-atexit case.
533
d60e5448
MM
5342001-04-30 Mark Mitchell <mark@codesourcery.com>
535
536 * optimize.c (update_cloned_parm): New function.
537 (maybe_clone_body): Use it. Update the `this' parameter too.
538
7200764f
JM
5392001-04-29 Joseph S. Myers <jsm28@cam.ac.uk>
540
541 * decl2.c (unsupported_options): Add new-abi.
542 * lang-options.h: Remove no longer supported options.
543
2d46ec83
NS
5442001-04-27 Nathan Sidwell <nathan@codesourcery.com>
545
546 * except.c (can_convert_eh): Don't check template parms,
547 typename types etc.
548
02a1a68c
NS
5492001-04-27 Nathan Sidwell <nathan@codesourcery.com>
550
551 * optimize.c (maybe_clone_body): Copy parameter names and locations.
552
5f6eeeb3
NS
5532001-04-27 Nathan Sidwell <nathan@codesourcery.com>
554
555 * cp-tree.h (adjust_clone_args): Prototype new function.
556 * class.c (adjust_clone_args): New function.
557 * decl.c (start_function): Call it for in charge ctors.
558
1b28d441
MM
5592001-04-26 Mark Mitchell <mark@codesourcery.com>
560
561 * method.c (use_thunk): Make sure that thunks really are emitted
562 when requested.
563
0576ec13
NS
5642001-04-26 Nathan Sidwell <nathan@codesourcery.com>
565
566 * mangle.c (write_chars): New macro.
567 (hwint_to_ascii): New function
568 (write_number): Use it.
569 (write_integer_cst): Deal with really big numbers.
570
b96ada87
MM
5712001-04-25 Mark Mitchell <mark@codesourcery.com>
572
573 * optimize.c (maybe_clone_body): Copy TREE_PUBLIC before emitting
574 the clone.
575
6bda7a5e
NS
5762001-04-25 Nathan Sidwell <nathan@codesourcery.com>
577
578 * decl.c (grokdeclarator): Set context of namespace scope
579 TYPE_DECLS.
580
11fe225a
ZW
5812001-04-24 Zack Weinberg <zackw@stanford.edu>
582
583 * cp/optimize.c: Include hashtab.h.
584 (struct inline_data): Add tree_pruner.
585 (expand_call_inline, expand_calls_inline): Use it when calling
586 walk_tree.
587 (optimize_function): Initialize and free tree_pruner.
588
0ba8a114
NS
5892001-04-24 Nathan Sidwell <nathan@codesourcery.com>
590
591 Lazy __FUNCTION__ generation.
592 * cp-tree.def (FUNCTION_NAME): Remove.
593 * cp-tree.h (function_name_declared_p): Remove.
594 (cp_fname_init): Prototype.
595 * decl.c (init_decl_processing): Don't generate __FUNCTION__ et al ids,
596 don't call declare_function_name. Call start_fname_decls.
597 (cp_make_fname_decl): Adjust parameters. Generate the name. Don't
598 clobber the line number.
599 (cp_fname_init): New function.
600 (start_function): Call start_fname_decls.
601 (finish_function): Call finish_fname_decls.
602 * lex.c (reswords): Add slots for __FUNCTION__ et al.
603 (rid_to_yy): Add mappings for __FUNCTION__ et al.
604 * optimize.c (maybe_clone_body): Remove function_name_declared_p.
605 * parse.y (VAR_FUNC_NAME): New token.
606 (primary): Add VAR_FUNC_NAME.
607 * pt.c (tsubst_decl): Adjust a DECL_PRETTY_FUNCTION_P's
608 generation.
609 (tsubst, FUNCTION_NAME case): Remove.
610 (tsubst_copy, FUNCTION_NAME case): Remove.
611 (tsubst_expr, DECL_STMT case): Be careful with a
612 DECL_PRETTY_FUNCTION_P.
613 (instantiate_decl): Remove function_name_declared_p.
614 * semantics.c (begin_compound_statement): Don't call
615 declare_function_name here.
616 (setup_vtbl_ptr). Don't save & restore function_name_declared_p.
617 (finish_translation_unit): Call finish_fname_decls.
618 (expand_body): Remove function_name_declared_p.
619 * typeck2.c (digest_init): Allow any ERROR_MARK.
620
dfbb4f34
NS
6212001-04-24 Nathan Sidwell <nathan@codesourcery.com>
622
623 * pt.c (tsubst_decl): Use VOID_TYPE_P.
624 * semantics.c: Fix some typos.
625
e2584c52
PE
6262001-04-23 Phil Edwards <pme@sources.redhat.com>
627
628 * cp/decl2.c (flag_honor_std): Always initialize to 1.
629
d4c3ec27
KG
6302001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
631
632 * xref.c (GNU_xref_file): Use concat in lieu of xmalloc/sprintf.
633
2ac8a0f9
JM
6342001-04-23 Jason Merrill <jason_merrill@redhat.com>
635
636 * except.c (build_throw): Wrap the initialization of the exception
637 object in a MUST_NOT_THROW_EXPR.
638 (do_free_exception): #if 0.
639
968b956a
MM
6402001-04-20 Mark Mitchell <mark@codesourcery.com>
641
642 * cp-tree.h (finish_enum): Change prototype.
643 * decl.c (finish_enum): Reorganize.
644 * parse.y (structsp): Adjust calls to finish_enum.
11fe225a 645
aa1826e2
NS
6462001-04-20 Nathan Sidwell <nathan@codesourcery.com>
647
648 * tree.c (cp_tree_equal): Adjust final switch formatting. Add
649 't' case.
650
06d9f09f
NS
6512001-04-20 Nathan Sidwell <nathan@codesourcery.com>
652
653 * class.c (dfs_unshared_virtual_bases): Add ATTRIBUTE_UNUSED.
654 (layout_empty_base): Return at end flag.
655 (build_base_field): Likewise.
656 (build_base_fields): Likewise.
657 (layout_virtual_bases): Don't add 1 to eoc value.
658 (end_of_class): Use full size for empty bases.
659 (layout_class_type): Clear CLASSNEARLY_EMPTY_P if we appended
660 empty bases. Don't add 1 to eoc value. Only add trailing padding
661 if we're an empty class with no empty bases.
662 (dump_class_hierarchy): Dump size and alignment.
663
351a0f00
JJ
6642001-04-20 Jakub Jelinek <jakub@redhat.com>
665
666 * call.c (maybe_handle_ref_bind): Copy ICS_USER_FLAG and
667 ICS_BAD_FLAG.
668
881cae05
JJ
6692001-04-20 Jakub Jelinek <jakub@redhat.com>
670
671 * search.c (lookup_field_r): If looking for type and non-TYPE_DECL
672 is found, look first if name does not match the structure name.
673
5d2ed28c
MM
6742001-04-19 Mark Mitchell <mark@codesourcery.com>
675
676 * cp-tree.h (DECL_LANGUAGE): Don't assume DECL_LANG_SPECIFIC is
677 set.
678 (SET_DECL_LANGUAGE): New macro.
679 * decl.c (duplicate_decls): Use SET_DECL_LANGUAGE.
680 (pushdecl): Likewise.
681 (build_library_fn_1): Likewise.
682 (build_cp_library_fn): Likewise.
683 (grokfndecl): Likewise.
684 (grokvardecl): Mark `extern "C"' variables as having C linkage.
685 * decl2.c (grokclassfn): Use SET_DECL_LANGUAGE.
686 * lex.c (retrofit_lang_decl): Likewise.
687 * mangle.c (mangle_decl_string): Don't mangle the names of
688 variables declared with C language linkage.
689 * semantics.c (finish_member_declaration): Use SET_DECL_LANGUAGE.
11fe225a 690
41251458
JDA
6912001-04-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
692
693 * semantics.c (simplify_aggr_init_exprs_r): Don't restore
694 flag_access_control from uninitialized storage.
695
1b4a93f7
MM
6962001-04-15 Mark Mitchell <mark@codesourcery.com>
697
24272dc0
MM
698 * cp-tree.h (TYPE_PTRMEM_CLASS_TYPE): Improve documentation.
699 * mangle.c (write_pointer_to_member_type): Fix mangling of
700 pointers to cv-qualified member function types.
701
1b4a93f7
MM
702 * init.c (build_delete): Create a SAVE_EXPR for the address if
703 we're going to use it more than once.
704
530ec96d
MM
7052001-04-13 Mark Mitchell <mark@codesourcery.com>
706
707 * cp-tree.h (DELTA2_FROM_PTRMEMFUNC): Remove.
708 (expand_ptremfunc_cst): Change prototype.
709 (delta2_from_ptrmemfunc): Remove.
710 * expr.c (cplus_expand_constant): Adjust call to
711 expand_ptrmemfunc_cst.
712 * typeck.c (build_ptrmemfunc1): Simplify.
713 (build_ptrmemfunc): Make sure that casting a PTRMEM_CST still
714 results in a constant.
715 (expand_ptrmemfunc_cst): Remove idx and delta2 parameters.
716 (delta2_from_ptrmemfunc): Remove.
717 (pfn_from_ptrmemfunc): Adjust call to expand_ptrmemfunc_cst.
11fe225a 718
ee8fc32b
JM
7192001-04-12 Jason Merrill <jason_merrill@redhat.com>
720
721 * cp-tree.h (decl_namespace_list): New macro.
722 (struct saved_scope): Add decl_ns_list.
723 * decl.c (mark_saved_scope): Mark it.
724 * decl2.c: Lose static decl_namespace_list.
725 (init_decl2): Don't save it.
726
48857160
KG
7272001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
728
729 * cp-tree.h (warn_return_type, yylex): Delete redundant
730 declarations.
11fe225a 731
48857160
KG
732 * decl.c (current_class_depth, global_namespace): Likewise.
733
734 * decl2.c (current_class_depth, flag_gnu_xref): Likewise
735
736 * repo.c (flag_use_repository): Likewise.
737
845e14ed
KG
7382001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
739
740 * cp-tree.h (pedantic, convert, global_bindings_p, insert_block,
741 set_block, pushdecl, getdecls, gettags, init_decl_processing,
742 maybe_build_cleanup, copy_lang_decl, prep_stmt, lvalue_p,
743 lvalue_or_else, print_lang_statistics, comp_target_types,
744 unsigned_type, signed_type, signed_or_unsigned_type,
745 build_function_call, mark_addressable, incomplete_type_error):
746 Delete redundant declarations.
747
1951a1b6
JM
7482001-04-11 Jason Merrill <jason_merrill@redhat.com>
749
750 * cp-tree.h (TYPE_LINKAGE_IDENTIFIER): New macro.
751 (TYPE_ANONYMOUS_P): New macro.
752 (TAGGED_TYPE_P): New macro.
753 * decl.c (check_tag_decl): Use TYPE_ANONYMOUS_P.
754 (grokfndecl, grokvardecl, grokdeclarator): Likewise.
755 * tree.c (no_linkage_helper): Likewise.
756 * semantics.c (begin_class_definition): Likewise.
757 * pt.c (convert_template_argument): Likewise.
758 * lex.c (check_for_missing_semicolon): Likewise.
759
0fb3018c
NS
7602001-04-12 Nathan Sidwell <nathan@codesourcery.com>
761
762 * class.c (dfs_unshared_virtual_bases): New function.
763 (mark_primary_bases): Call it.
764 (check_bases): Ignore virtual bases when determining
765 nearly-emptiness.
766
bbb53468
NS
7672001-04-12 Nathan Sidwell <nathan@codesourcery.com>
768
769 * method.c (make_thunk): Clear DECL_CLONED_FUNCTION.
770
9b7949d5
MM
7712001-04-11 Mark Mitchell <mark@codesourcery.com>
772
773 * optimize.c (maybe_clone_body): Copy DECL_NUM_STMTS from the
774 cloned function to the clone.
775
d6684bc8
KG
7762001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
777
778 * Make-lang.in (cp/semantics.o): Depend on $(EXPR_H).
779
780 * semantics.c: Include expr.h.
781
a2095778
NS
7822001-04-11 Nathan Sidwell <nathan@codesourcery.com>
783
784 * method.c (implicitly_declare_fn): Commonize code for copy ctor
785 and assignment op. Set TREE_USED for parameter.
786
78b45a24
MM
7872001-04-10 Mark Mitchell <mark@codesourcery.com>
788
789 * class.c (find_final_overrider_data): Add `candidates'.
790 (dfs_find_final_overrider): Don't issue error messages
791 prematurely.
792 (find_final_overrider): Issue error messages here.
793 (build_base_field): Don't warn about amgibuous direct bases here.
794 (warn_about_ambiguous_direct_bases): New function.
795 (layout_class_type): Use it.
796
0450d74d
RH
7972001-04-10 Richard Henderson <rth@redhat.com>
798
799 * typeck.c (build_array_ref): Push the array reference inside
800 COMPOUND_EXPR and COND_EXPR.
801
79065db2
MM
8022001-04-05 Mark Mitchell <mark@codesourcery.com>
803
804 * cp-tree.h (DECL_THIS_INLINE): Rename to DECL_DECLARED_INLINE_P.
805 * decl.c (duplicate_decls): Adjust accordingly.
806 (maybe_commonize_var): Likewise.
807 (grokfndecl): Likewise.
808 (start_function): Likewise.
809 (start_method): Likewise.
810 * decl2.c (key_method): Likewise.
811 (import_export_decl): Likewise.
812 * method.c (implicitly_declare_fn): Likewise.
813 * optimize.c (maybe_clone_body): Likewise.
11fe225a 814
fdecbf8a
BK
8152001-04-05 Benjamin Kosnik <bkoz@redhat.com>
816
b03eced6 817 * lang-specs.h: Add __DEPRECATED.
fdecbf8a 818
0b4c1646
R
819Thu Apr 5 16:54:29 2001 J"orn Rennecke <amylaar@redhat.com>
820
821 * search.c (get_dynamic_cast_base_type): When building a new
822 constant, set its type to ssizetype.
823
e59d6709
JJ
8242001-04-04 Jakub Jelinek <jakub@redhat.com>
825
826 * optimize.c (expand_call_inline): Only add newly inlined statements
827 into inlined_stmts.
828
0c918ce5
MM
8292001-04-03 Mark Mitchell <mark@codesourcery.com>
830
831 * cp-tree.h (OPERATOR_ASSIGN_FORMAT): Remove.
832 (OPERATOR_FORMAT): Likewise.
833 (OPERATOR_TYPENAME_FORMAT): Likewise.
834 * operators.def: Remove old name-mangling information.
835 * decl.c (grok_op_properties): Adjust accordingly.
836 * lex.c (init_operators): Likewise.
837 * rtti.c (get_tinfo_decl): Issue error messages about types that
838 have variable size.
839
92788413
MM
8402001-04-03 Mark Mitchell <mark@codesourcery.com>
841
11fe225a 842 * decl2.c (import_export_decl): Don't call import_export_class
92788413
MM
843 when processing an inline member function.
844 * semantics.c (expand_body): Call import_export_decl before
845 emitting inline functions.
846
52a11cbf
RH
8472001-03-28 Richard Henderson <rth@redhat.com>
848
849 IA-64 ABI Exception Handling:
850 * cp-tree.def (EH_SPEC_BLOCK): New.
851 (MUST_NOT_THROW_EXPR): New.
852 * cp-tree.h: Update changed function declarations.
853 (CPTI_PUSH_EXCEPTION_IDENTIFIER): Remove.
854 (CPTI_CALL_UNEXPECTED): New.
855 (struct cp_language_function): Rename x_eh_spec_try_block
856 to x_eh_spec_block.
857 (EH_SPEC_STMTS, EH_SPEC_RAISES): New.
11fe225a 858 * decl.c (current_binding_level): If no current function
52a11cbf
RH
859 bindings, revert to scope_chain.
860 (initialize_predefined_identifiers): Remove __cp_push_exception.
861 (store_parm_decls): Use begin_eh_spec_block.
862 (finish_function): Use finish_eh_spec_block.
863 (mark_lang_function): Update for name changes.
864 * decl2.c (finish_file): No mark_all_runtime_matches.
865 * dump.c (cp_dump_tree): Handle new tree codes.
866 * error.c (dump_expr) [BIND_EXPR]: Fix typo.
867 * except.c (catch_language_init, catch_language): Remove.
868 (init_exception_processing): Don't set language code.
869 Initialize call_unexpected_node, protect_cleanup_actions,
870 eh_personality_libfunc, lang_eh_runtime_type.
871 (call_eh_info, push_eh_info, get_eh_info, get_eh_value): Remove.
872 (get_eh_type, get_eh_caught, get_eh_handlers): Remove.
873 (prepare_eh_type): Split out type canonicalizations ...
874 (build_eh_type_type): ... from here.
875 (build_eh_type_type_ref): Remove.
876 (mark_all_runtime_matches): Remove.
877 (build_exc_ptr): New.
878 (do_begin_catch, do_end_catch): New.
879 (do_pop_exception): Remove.
880 (build_terminate_handler): Remove.
881 (choose_personality_routine): Split out language choice from ...
882 (initialize_handler_parm): ... here.
883 Use MUST_NOT_THROW_EXPR.
884 (expand_start_catch_block): Use do_begin_catch. Simplify Java
885 exception object handling.
886 (expand_start_eh_spec, expand_end_eh_spec): Remove.
887 (expand_exception_blocks, alloc_eh_object): Remove.
888 (begin_eh_spec_block, finish_eh_spec_block): New.
889 (do_allocate_exception, do_free_exception): New.
890 (expand_throw): Merge into ...
891 (build_throw): ... here. Update for abi.
892 * expr.c (cplus_expand_expr): No expand_internal_throw.
893 Handle MUST_NOT_THROW_EXPR.
894 * pt.c (tsubst_expr): Handle EH_SPEC_BLOCK.
895 * semantics.c (*) Update for except.h name changes.
896 (genrtl_try_block): No protect_with_terminate.
897 (genrtl_eh_spec_block): New.
898 (genrtl_handler): Don't emit the goto here.
899 (cp_expand_stmt): Handle EH_SPEC_BLOCK.
900 (genrtl_finish_function): Don't expand_exception_blocks.
901 * tree.c (cp_statement_code_p): Handle EH_SPEC_BLOCK.
902
826840d9
RH
9032001-03-28 Richard Henderson <rth@redhat.com>
904
905 * decl.c (struct named_label_list): Rename eh_region to
906 in_try_scope, add in_catch_scope.
907 (struct binding_level): Rename eh_region to is_try_scope,
908 add is_catch_scope.
909 (note_level_for_try): Rename from note_level_for_eh.
910 (note_level_for_catch): New.
911 (poplevel): Copy both is_try_scope and is_catch_scope to
912 the named_label_list struct.
913 (check_previous_goto_1): Don't check for catch block via
914 DECL_ARTIFICIAL; use in_try_scope instead.
915 (check_goto): Likewise.
916 * cp-tree.h (note_level_for_try, note_level_for_catch): Declare.
917 * except.c (expand_start_catch_block): Call note_level_for_catch.
918 * semantics.c (begin_compound_stmt): Update for note_level_for_try.
919
531073e7
RH
9202001-03-27 Richard Henderson <rth@redhat.com>
921
922 * except.c: Use USING_SJLJ_EXCEPTIONS instead of
923 exceptions_via_longjmp.
924
8653a2c3
PE
9252001-03-27 Phil Edwards <pme@sources.redhat.com>
926
927 * pt.c (check_default_tmpl_args): Make error messages clearer.
928
9292001-03-26 Phil Edwards <pme@sources.redhat.com>
930
931 * error.c: Also undefine 'A' macro used for cp_printers definition.
932
911e6107
KG
9332001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
934
935 * Make-lang.in: Depend on $(SYSTEM_H), not system.h.
936
005a5cb0
MY
9372001-03-26 Mike Yang <yang@research.att.com>
938 Mark Mitchell <mark@codesourcery.com>
939
940 * dump.c (dump_access): New function.
941 (cp_dump_tree): Use it. Dump basetype information for class
942 types.
943
b850de4f
MM
9442001-03-26 Mark Mitchell <mark@codesourcery.com>
945
946 * Makefile.in (optimize.o): Depend on params.h.
947 (duplicate_decls): Copy DECL_NUM_STMTS, not DECL_FRAME_SIZE.
948 (init_decl_processing): Set flag_no_inline when doing
949 inlining-on-trees.
950 * optimize.c: Include params.h.
951 (struct inline_data): Improve documentation of FNS. Add
952 FIRST_INLINED_FN, INLINED_STMTS, and CLONING_P.
953 (INSNS_PER_STMT): New macro.
954 (remap_block): Use CLONING_P.
955 (inlinable_function_p): Don't inline big functions.
956 (expand_call_inline): Keep track of how much inlining we've done.
957 (optimize_function): Set FIRST_INLINED_FN.
958 (maybe_clone_body): Set CLONING_P.
959 * semantics.c (simplify_aggr_init_exprs_r): Fix typing problems in
960 tree nodes.
961 (genrtl_finish_function): Clear DECL_DEFER_OUTPUT before calling
962 rest_of_compilation. Clear DECL_RTL for local variables
963 afterwards.
964 (clear_decl_rtl): New function.
11fe225a 965
788bf0e3
NS
9662001-03-26 Nathan Sidwell <nathan@codesourcery.com>
967
968 Implement DR 209
969 * cp-tree.h (skip_type_access_control,
970 reset_type_access_control): Prototype.
971 * decl.c (grokdeclarator): Access of friends is not checked.
972 * parse.y (component_decl_list): Reset type access control.
973 * semantics.c (decl_type_access_control): Clear
974 current_type_lookups.
975 (save_type_access_control): Don't save if not deferring.
976 (skip_type_access_control, reset_type_access_control): New
977 functions.
978 (begin_class_definition): Do type access control for basetypes.
979 Start deferred access control.
980 (finish_class_definition): Resume immediate access control if
981 this is a local class.
982
730e1556
KG
9832001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
984
985 * class.c (add_method): Use memcpy/memmove, not bcopy.
986
987 * decl.c (duplicate_decls): Likewise.
988
f1a0345c
JJ
9892001-03-23 Jakub Jelinek <jakub@redhat.com>
990
991 * mangle.c (write_discriminator): Use `_0' for discriminator 1,
992 not `_'.
993
8e4ce833
JJ
9942001-03-23 Jakub Jelinek <jakub@redhat.com>
995
996 * decl.c (local_names): Define.
997 (push_local_name): New.
998 (grok_reference_init): Return init if initializing static reference
999 variable with non-constant instead of emitting it.
1000 Move expand_static_init call to cp_finish_decl.
1001 (layout_var_decl): Call push_local_name.
1002 (maybe_commonize_var): Allow inlining functions even if they have
1003 static local variables, use comdat_linkage for them if flag_weak.
1004 (check_initializer): Call obscure_complex_init if
1005 grok_reference_init returned non-zero.
1006 (save_function_data): Clear x_local_names.
1007 (pop_cp_function_context): Free x_local_names.
1008 (mark_inlined_fns): Remove.
1009 (mark_lang_function): Mark x_local_names.
1010 (lang_mark_tree): Don't mark DECL_ACCESS for DECL_DISCRIMINATOR_P.
1011 Mark inlined_fns as tree, remove call to mark_inlined_fns.
1012 * class.c (alter_access): Ensure DECL_ACCESS is never set if
1013 DECL_DISCRIMINATOR_P.
1014 * cp-tree.h (cp_language_function): Add x_local_names.
1015 (lang_decl_flags): Add discriminator into u2.
1016 (lang_decl_inlined_fns): Remove.
1017 (lang_decl): inlined_fns is now a TREE_VEC.
1018 (DECL_DISCRIMINATOR_P, DECL_DISCRIMINATOR): Define.
1019 * optimize.c (inlinable_function_p): DECL_INLINED_FNS is now a
1020 TREE_VEC, not a custom structure.
1021 (optimize_function): Likewise.
1022 * mangle.c (discriminator_for_local_entity): Discriminate among
1023 VAR_DECL local entities.
1024 * search.c (dfs_access_in_type): If DECL_DISCRIMINATOR_P, DECL_ACCESS
1025 is not valid.
1026
60c87482
BM
10272001-03-22 Bryce McKinlay <bryce@albatross.co.nz>
1028
1029 Add support for Java interface method calls.
1030 * cp-tree.h (struct lang_type): Add java_interface flag.
1031 (TYPE_JAVA_INTERFACE): New macro.
1032 * tree.c (cp_valid_lang_attribute): Handle "java_interface" attribute
1033 by setting TYPE_JAVA_INTERFACE.
1034 * call.c (java_iface_lookup_fn): New static.
11fe225a 1035 (build_over_call): If calling a method declared in a
60c87482
BM
1036 TYPE_JAVA_INTERFACE, call build_java_interface_fn_ref to generate the
1037 expression which resolves the function address.
1038 (build_java_interface_fn_ref): New function.
1039
94c7f30b
RH
10402001-03-22 Richard Henderson <rth@redhat.com>
1041
1042 * Make-lang.in (cp/except.o): Don't depend on insn-flags.h.
1043 * except.c: Don't include it.
1044
fd8b7a0e 10452001-03-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
826840d9 1046 based on an idea from Joe Buck <jbuck@synopsys.com>
fd8b7a0e
GP
1047
1048 * parse.y (bad_decl, template_arg_list_ignore, arg_list_ignore):
1049 New nonterminals.
1050 (data_def, component_decl): Add reductions to bad_decl.
1051
a1c2b86d
JJ
10522001-03-22 Jakub Jelinek <jakub@redhat.com>
1053
1054 * method.c (do_build_assign_ref): Don't use build_modify_expr for
1055 anonymous aggregates, since they don't have assignment operator
1056 method.
1057 * decl.c (fixup_anonymous_aggr): Disallow ctors, dtors and copy
1058 assignment operators for anonymous structure fields.
1059
46ccf50a
JM
10602001-03-21 Jason Merrill <jason@redhat.com>
1061
1062 * pt.c (instantiate_decl): Abort if we see a member constant
1063 instantiation that doesn't already have its initializer.
1064 Downgrade explicit instantiation without definition to pedwarn.
1065
1066 * cp-tree.h (DECL_TINFO_FN_P, SET_DECL_TINFO_FN_P): Remove.
1067 * class.c (build_vtable_entry): Don't check DECL_TINFO_FN_P.
1068 (import_export_decl): Check tinfo_decl_p, not DECL_TINFO_FN_P.
1069
1070 * cp-tree.h (CLASSTYPE_VTABLE_NEEDS_WRITING): Remove.
1071 (pending_vtables): Remove.
1072 * decl2.c (pending_vtables): Remove.
1073 (import_export_vtable): Use CLASSTYPE_INTERFACE_ONLY, not
1074 CLASSTYPE_VTABLE_NEEDS_WRITING.
1075 (import_export_class): Likewise.
1076 (init_decl2): Don't mark pending_vtables.
1077 * lex.c (handle_pragma_vtable): Just sorry.
1078 * pt.c (instantiate_class_template): Don't mess with
1079 CLASSTYPE_VTABLE_NEEDS_WRITING.
1080 (mark_class_instantiated): Likewise.
1081 * ptree.c (print_lang_type): Don't print it.
1082 * semantics.c (begin_class_definition): Don't set it.
1083
1084 * pt.c (template_tail): Replace with last_pending_template.
1085 (maybe_templates, maybe_template_tail): Remove.
1086 (add_pending_template): Adjust.
1087 (instantiate_pending_templates): Adjust.
1088
1089 * cp-tree.h (struct saved_scope): Remove lang_stack field.
1090 (current_lang_stack): Remove.
1091 * decl.c (maybe_push_to_top_level): Don't initialize it.
1092 (duplicate_decls): Use current_lang_depth.
1093 (xref_basetypes): Likewise.
1094 * class.c (current_lang_depth): New fn.
1095 (push_lang_context): Use more varray functionality.
1096 (pop_lang_context): Likewise.
64d9c3fe
JM
1097
1098 * error.c (GLOBAL_THING): Always use '__'.
1099
1c06710a
MM
11002001-03-21 Mark Mitchell <mark@codesourcery.com>
1101
71cb9286
MM
1102 * class.c (build_clone): Clear DECL_ASSEMBLER_NAME.
1103
1c06710a
MM
1104 * mangle.c (mangle_decl_string): Mangle the names of overloaded
1105 operators, even when they have `extern "C"' linkage.
1106
92643fea
MM
11072001-03-19 Mark Mitchell <mark@codesourcery.com>
1108
1109 * class.c (get_vtable_decl): Use SET_DECL_ASSEMBLER_NAME,
1110 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
1111 where it's not necessary.
1112 (add_method): Remove optimization involving comparison of
1113 DECL_ASSEMBLER_NAME.
1114 (build_vtbl_or_vbase_field): Use SET_DECL_ASSEMBLER_NAME,
1115 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
1116 where it's not necessary.
1117 (check_methods): Likewise.
1118 (build_clone): Likewise.
1119 (built_vtt): Likewise.
1120 * cp-tree.h (DECL_NEEDED_P): Likewise.
1121 * decl.c (pushtag): Likewise.
1122 (duplicate_decls): Likewise.
1123 (pushdecl): Likewise.
1124 (builtin_function): Likewise.
1125 (build_library_fn_1): Set DECL_LANGUAGE for library functions.
1126 (build_cp_library_fn): Likewise.
1127 (maybe_commonize_var): Use SET_DECL_ASSEMBLER_NAME,
1128 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
1129 where it's not necessary.
1130 (make_rtl_for_nonlocal_decl): Likewise.
1131 (cp_finish_decl): Likewise.
1132 (grokfndecl): Likewise.
1133 (grokvardecl): Likewise.
1134 (grokdeclarator): Likewise.
1135 (start_function): Likewise.
1136 (cp_missing_return_ok_p): Likewise.
1137 * decl2.c (grokclassfn): Likewise.
1138 (check_classfn): Likewise.
1139 (finish_static_data_member_decl): Likewise.
1140 (grokfield): Likewise.
1141 * error.c (GLOBAL_IORD_P): Remove.
1142 (dump_global_iord): Improve output.
1143 (dump_decl): Avoid using DECL_ASSEMBLER_NAME.
1144 * except.c (nothrow_libfn_p): Summarily reject any function not in
1145 namespace-scope.
1146 * init.c (build_java_class_ref): Don't explicitly set
1147 DECL_ASSEMBLER_NAME after calling mangle_decl.
1148 * mangle.c (mangle_decl_string): Handle extern "C" functions.
1149 (mangle_decl): Set the DECL_ASSEMBLER_NAME for the decl.
1150 * method.c (set_mangled_name_for_decl): Don't explicitly set
1151 DECL_ASSEMBLER_NAME after calling mangle_decl.
1152 (make_thunk): Explicitly set the DECL_ASSEMBLER_NAME and
1153 IDENTIFIER_GLOBAL_VALUE for the thunk.
1154 * pt.c (set_mangled_name_for_template_decl): Remove.
1155 (check_explicit_specialization): Don't use it.
1156 (looup_template_class): Don't set DECL_ASSEMBLER_NAME.
1157 (tsubst_friend_function): Likewise.
1158 (tsubst_decl): Likewise.
1159 (regenerate_decl_from_template): Use COPY_DECL_ASSEMBLER_NAME.
1160 * rtti.c (get_tinfo_decl): Use SET_DECL_ASSEMBLER_NAME,
1161 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
1162 where it's not necessary.
1163 (tinfo_base_init): Likewise.
1164 (create_real_tinfo_var): Likewise.
1165 * search.c (looup_field_1): Likewise.
1166 * semantics.c (finish_named_return_value): Likewise.
1167 * tree.c (init_tree): Set lang_set_decl_assembler_name.
11fe225a 1168
d064d75a
GDR
11692001-03-15 Gabriel Dos Reis <gdr@codesourcery.com>
1170
1171 Correct semantics restrictions checking in throw-expression.
1172 * except.c (is_admissible_throw_operand): New function.
1173 (build_throw): Use it.
1174
a3eab619
MM
11752001-03-14 Mark Mitchell <mark@codesourcery.com>
1176
1177 * decl.c (cp_make_fnname_decl): Set DECL_IGNORED_P on __FUNCTION__
1178 and its ilk.
1179
19e7881c
MM
11802001-03-14 Mark Mitchell <mark@codesourcery.com>
1181
1182 * class.c (build_clone): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
1183 * cp-tree.h (DECL_IN_MEMORY_P): Likewise.
1184 * decl.c (duplicate_decls): Likewise.
1185 (builtin_function): Likewise.
1186 (build_library_fn): Likewise.
1187 (build_cp_library_fn): Likewise.
1188 (check_initializer): Likewise.
1189 (cp_finish_decl): Likewise.
1190 * decl2.c (grokfield): Likewise.
1191 (grok_function_init): Remove #if 0'd code.
1192 (finish_anon_union): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
1193 * friend.c (do_friend): Likewise.
1194 * init.c (get_temp_regvar): Likewise.
1195 * method.c (make_thunk): Likewise.
1196 * pt.c (tsubst_friend_function): Likewise.
1197 (tsubst_decl): Likewise.
1198 (regenerate_decl_from_template): Likewise.
1199 * semantics.c (genrtl_named_return_value): Likewise.
1200 (expand_body): Likewise.
1201 (genrtl_finish_function): Likewise.
1202 * tree.c (cp_tree_equal): Likewise.
11fe225a 1203
78fe06c2
NS
12042001-03-12 Nathan Sidwell <nathan@codesourcery.com>
1205
1206 * call.c (convert_like_real): Add extra semantics to INNER
1207 parameter. Don't convert to temporary if a user conversion
1208 gives us an lvalue that we're about to bind to a reference.
1209 Set INNER to indicate pending reference binding on recursive
1210 calls.
1211
b3e68a79
NB
12122001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
1213
1214 * cp/lex.c: Delete duplicate pending_lang_change.
1215
12162001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
1217
1218 * cp/lex.c (handle_pragma_interface, handle_pragma_implementation):
1219 Similarly.
1220 * cp/repo.c (get_base_filename, open_repo_file): Similarly.
1221 * cp/cp-tree.h: Remove file_name_nondirectory prototype.
1222
11642c3a
ZW
12232001-03-09 Zack Weinberg <zackw@stanford.edu>
1224
1225 * Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
1226
bb6852eb 12272001-03-08 Stan Shebs <shebs@apple.com>
f7687817
SS
1228
1229 * cp-tree.h (set_identifier_local_value): Remove unused decl.
1230
cc937581
ZW
12312001-03-06 Zack Weinberg <zackw@stanford.edu>
1232
1233 * spew.c: Remove references to CPP_OSTRING.
1234
d1188d91
AH
12352001-03-06 Andrew Haley <aph@redhat.com>
1236
1237 * typeck.c (convert_arguments): Check that we have an fndecl.
1238
4eaf1d5b
AH
12392001-03-05 Andrew Haley <aph@redhat.com>
1240
1241 * typeck.c (convert_arguments): Don't do ellipsis conversion for
1242 __built_in_constant_p.
1243
7eeb553c
NS
12442001-03-02 Nathan Sidwell <nathan@codesourcery.com>
1245
1246 * typeck.c (build_static_cast): Allow enum to enum conversions
1247 as per DR 128.
1248
d282fcb2
NS
12492001-03-02 Nathan Sidwell <nathan@codesourcery.com>
1250
1251 * class.c (check_field_decls): Pointers to member do not a
1252 non-pod struct make, as per DR 148.
1253
f86fdf68
NS
12542001-03-02 Nathan Sidwell <nathan@codesourcery.com>
1255
1256 * call.c (joust): cp_pedwarn when using gnu extension concerning
1257 worst conversion sequences.
1258
d6edb99e
ZW
12592001-03-01 Zack Weinberg <zackw@stanford.edu>
1260
1261 * decl.c: Replace all uses of 'boolean' with 'bool'.
1262
f7143427
ZW
12632001-03-01 Zack Weinberg <zackw@stanford.edu>
1264
1265 * lang-specs.h: Add zero initializer for cpp_spec field to
1266 all array elements that need one. Don't put an #ifdef inside
1267 the initializer list; set a default for CPLUSPLUS_CPP_SPEC and
1268 use it.
1269
fbfe8c9e
NS
12702001-03-01 Nathan Sidwell <nathan@codesourcery.com>
1271
1272 Implement using decls inside template functions.
1273 * decl2.c (validate_nonmember_using_decl): Don't special case
1274 fake_std_node in the global namespace. Don't reject early when
1275 processing a template.
1276 (do_local_using_decl): Add to statement tree. Don't do further
1277 processing when building a template.
1278 * pt.c (tsubst_expr, DECL_STMT case): Deal with USING_DECLs.
1279
4d24a889
NS
12802001-03-01 Nathan Sidwell <nathan@codesourcery.com>
1281
1282 * decl2.c (do_nonmember_using_decl): Don't complain if we find
1283 same function. Do complain about ambiguating extern "C"
1284 declarations.
1285
e5844e6d
NS
12862001-02-28 Nathan Sidwell <nathan@codesourcery.com>
1287
1288 Remove floating point and complex type template constant parms.
1289 * pt.c (convert_nontype_argument): Remove REAL_TYPE and
1290 COMPLEX_TYPE extensions.
1291 (invalid_nontype_parm_type_p): Likewise.
1292
788f238c
JO
12932001-02-27 Jeffrey Oldham <oldham@codesourcery.com>
1294
1295 * except.c (call_eh_info): Revert "match_function"'s type.
1296
73ea87d7
NS
12972001-02-27 Nathan Sidwell <nathan@codesourcery.com>
1298
1299 Fix ctor vtable vcall offsets.
1300 * class.c (struct vtbl_init_data_s): Add rtti_binfo member.
1301 (build_rtt_vtbl_entries): Lose RTTI_BINFO parameter.
1302 (get_matching_base): Remove.
1303 (get_original_base): New function.
11fe225a 1304 (build_vtbl_initializer): Initialize vid.rtti_binfo.
73ea87d7
NS
1305 Use a virtual thunk for a ctor vtable with an index
1306 (add_vcall_offset_vtbl_entries_1): Check if binfo has lost a
1307 primary base within a constructor vtable. Only set
1308 BV_VCALL_INDEX when not a constructor vtable. Adjust vcall offset
1309 when primary base has been lost.
1310 * cp-tree.h (BINFO_VIRTUALS): Remove ambiguity from comment.
1311
fe730161
JO
13122001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
1313
1314 * call.c (joust): Ensure more_specialized()'s argument length
1315 parameter has correct value for constructors.
1316
e5dd4aad
NS
13172001-02-26 Nathan Sidwell <nathan@codesourcery.com>
1318
1319 * except.c (call_eh_info): Cleanup generation of cp_eh_info struct.
11fe225a 1320
e5dd4aad
NS
1321 * decl.c (mark_inlined_fns): Prototype.
1322
25200ab2
MM
13232001-02-22 Mark Mitchell <mark@codesourcery.com>
1324
1325 * spew.c (yylex): Correct handling of friends.
1326
f58c04ac
MM
13272001-02-22 Mark Mitchell <mark@codesourcery.com>
1328
1329 * mangle.c (write_encoding): Pass write_function_type the
1330 FUNCTION_DECL for the function being encoded.
1331 (write_function_type): Pass it along to write_bare_function_type.
1332 (write_bare_function_type): Pass it along to write_method_parms.
1333 (write_method_parms): Don't mangle the compiler-generated
1334 parameters to a constructor or destructor.
1335
9c96f3f8
AJ
13362001-02-22 Andreas Jaeger <aj@suse.de>
1337
1338 * optimize.c: Include toplev.h for
1339 note_deferral_of_defined_inline_function prototype.
1340
b3bae5e2
JJ
13412001-02-22 Jakub Jelinek <jakub@redhat.com>
1342
1343 * cp-tree.h (struct lang_decl_inlined_fns): New.
1344 (struct lang_decls): Add inlined_fns.
1345 (DECL_INLINED_FNS): New macro.
1346 * optimize.c (struct inline_data): Add inlined_fns.
1347 (declare_return_variable): Use VARRAY_ACTIVE_SIZE macro.
1348 (inlinable_function_p): Likewise, fix typo in comment,
1349 function is not inlinable if it already inlined function currently
1350 being optimized.
1351 (expand_call_inline): Add fn to inlined_fns if neccessary.
1352 (optimize_function): Initialize inlined_fns.
1353 Save inlined_fns into DECL_INLINED_FNS after expanding inlines.
1354 * decl.c (mark_inlined_fns): New function.
1355 (lang_mark_tree): Call it.
1356
5daf7c0a
JM
13572001-02-21 Jason Merrill <jason@redhat.com>
1358
1359 * cp-tree.h (struct lang_decl_flags): Remove uninlinable flag.
1360 (DECL_UNINLINABLE): Move to middle-end.
1361
1362 * class.c (clone_function_decl): Set DECL_ABSTRACT on original fn.
1363 * decl.c (duplicate_decls): Preserve DECL_ABSTRACT.
1364 * class.c (build_clone): Set DECL_ABSTRACT_ORIGIN for the clone.
1365 * optimize.c (maybe_clone_body): Set DECL_ABSTRACT_ORIGIN for the
1366 parms and outer BLOCK. note_deferral_of_defined_inline_function.
1367
1368 * method.c (implicitly_declare_fn): Don't set DECL_ARTIFICIAL on
1369 second parm of op=.
1370
2c0fc02d
MM
13712001-02-19 Mark Mitchell <mark@codesourcery.com>
1372
1373 * decl2.c (set_decl_namespace): Allow explicit instantiations in
1374 any namespace.
1375
612164eb
KL
13762001-02-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1377
1378 * optimize.c (expand_call_inline): Don't walk subtrees of type
1379 nodes.
1380
69a59a49
MM
13812001-02-18 Mark Mitchell <mark@codesourcery.com>
1382
1383 * class.c (add_vcall_offset_vtbl_entries_1): Only add one entry
1384 for a destructor.
1385
e0fff4b3
JM
13862001-02-18 Jason Merrill <jason@redhat.com>
1387
1388 Do put the VTT parameter in DECL_ARGUMENTS.
1389 * cp-tree.h (struct cp_language_function): Add x_vtt_parm.
1390 (current_vtt_parm): New macro.
1391 (struct lang_decl_flags): Add has_vtt_parm_p, remove vtt_parm.
1392 (DECL_HAS_VTT_PARM_P): New macro.
1393 (DECL_VTT_PARM): Remove.
1394 (FUNCTION_FIRST_USER_PARMTYPE, FUNCTION_FIRST_USER_PARM): New macros.
1395 * decl.c (duplicate_decls): Only copy the operator code if
1396 appropriate.
1397 (start_function): Set current_vtt_parm.
1398 (lang_mark_tree): Don't mark vtt_parm.
9c96f3f8 1399 * decl2.c (maybe_retrofit_in_chrg): Do add the VTT parm to
e0fff4b3
JM
1400 DECL_ARGUMENTS. Set DECL_HAS_VTT_PARM_P.
1401 * class.c (build_clone): Maybe remove the VTT parm.
1402 * optimize.c (maybe_clone_body): Set up the VTT parm.
1403 * pt.c (copy_default_args_to_explicit_spec): Preserve the VTT parm.
1404 * call.c (build_over_call): Just allow the VTT arg.
1405 * method.c (make_thunk): Don't set DECL_VTT_PARM.
1406 (do_build_copy_constructor): Use FUNCTION_FIRST_USER_PARM.
1407 (synthesize_method): Use FUNCTION_FIRST_USER_PARMTYPE.
1408 * decl.c (grokdeclarator, copy_args_p, grok_ctor_properties): Likewise.
1409 * error.c (dump_function_decl): Likewise.
1410 * call.c (build_user_type_conversion_1, convert_like_real): Abort
1411 if we try to call a constructor with in-charge or VTT parms.
1412 * method.c (skip_artificial_parms_for): New fn.
1413 * call.c (add_function_candidate, build_over_call): Call it.
1414 * call.c (build_new_method_call): Use current_vtt_parm.
1415 * init.c (expand_virtual_init): Likewise.
1416 * class.c (same_signature_p): No longer static.
1417 * cp-tree.h: Declare it.
1418 * search.c (look_for_overrides_r): Use it.
1419
c750255c
MM
14202001-02-17 Mark Mitchell <mark@codesourcery.com>
1421
8fa33dfa
MM
1422 * cp-tree.h (new_abi_rtti_p): Remove.
1423 (name_mangling_version): Likewise.
1424 (flag_do_squangling): Likewise.
1425 * class.c (build_rtti_vtbl_entries): Remove old ABI support.
1426 * decl.c (grokfndecl): Likewise.
1427 * decl2.c (name_mangling_version): Remove.
1428 (flag_do_squangling): Likewise.
1429 (lang_f_options): Remove `squangle'.
1430 (unsupported_options): Add `squangle'.
1431 (cxx_decode_option): Issue a warning about uses of
1432 -fname-mangling-version.
1433 (finish_file): Remove old ABI support.
1434 * pt.c (check_explicit_specialization): Likewise.
1435 (tsubst_decl): Likewise.
1436 * rtti.c (init_rtti_processing): Likewise.
1437 (build_headof): Likewise.
1438 (get_tinfo_decl_dynamic): Likewise.
1439 (tinfo_from_decl): Likewise.
1440 (build_dynamic_cast_1): Likewise.
1441 (synthesize_tinfo_var): Likewise.
12fa82db
MM
1442 * init.c (build_new): Allow enumeration types for the array-bounds
1443 in a direct-new-declarator.
1444
1445 * semantics.c (finish_typeof): Resolve OFFSET_REFs.
1446
c750255c
MM
1447 * pt.c (check_explicit_specialization): Copy TREE_PRIVATE and
1448 TREE_PROTECTED from the template being specialized.
1449
a714e5c5
JM
14502001-02-17 Jason Merrill <jason@redhat.com>
1451
1452 * decl2.c (build_artificial_parm): Set TREE_READONLY.
1453
9c96f3f8 1454 * decl.c (bad_specifiers): Allow throw specs on things with
a714e5c5
JM
1455 pointer-to-function or -member-function type.
1456 * init.c (build_default_init): Don't use a CONSTRUCTOR to initialize
1457 a pmf.
1458
8084b91e
MM
14592001-02-17 Mark Mitchell <mark@codesourcery.com>
1460
1461 * call.c (check_dtor_name): Handle template names correctly.
1462
48f22ed2
JM
14632001-02-16 Jason Merrill <jason@redhat.com>
1464
1465 * cp-tree.h (DECL_USE_VTT_PARM): Remove.
1466 * decl2.c (maybe_retrofit_in_chrg): Don't create it.
1467 * optimize.c (maybe_clone_body): Don't substitute it.
1468 * call.c (build_new_method_call): Check in_chrg instead.
1469 * init.c (expand_virtual_init): Likewise.
1470
e8186ecf
GDR
14712001-02-16 Gabriel Dos Reis <gdr@codesourcery.com>
1472
1473 * decl.c (check_tag_decl): Make sure a typedef for an anonymous
1474 class-type introduces at least a type-name.
1475
2c1be322
JJ
14762001-02-16 Jakub Jelinek <jakub@redhat.com>
1477
1478 * call.c (convert_like_real): Create a temporary for non-lvalue.
1479
aab8454a
JO
14802001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
1481
1482 * cp-tree.h: Fix typos in comments.
1483
a901fa64
JM
14842001-02-16 Jason Merrill <jason@redhat.com>
1485
1486 * optimize.c (remap_block): If we're compiling a clone, pass the
1487 new block to insert_block.
1488
8853373c
MM
14892001-02-16 Mark Mitchell <mark@codesourcery.com>
1490
1491 * semantics.c (finish_asm_stmt): Robustify.
1492
b60ecc04
MM
14932001-02-15 Mark Mitchell <mark@codesourcery.com>
1494
1495 * pt.c (push_template_decl_real): Don't remangle the name of a
1496 class template.
1497
e658449e
JM
14982001-02-15 Jim Meyering <meyering@lucent.com>
1499
fd48c9b5
DD
1500 * Make-lang.in (c++.install-common): Depend on installdirs.
1501 (c++.install-info): Likewise.
1502 (c++.install-man): Likewise.
e658449e 1503
f1a3f197
MM
15042001-02-15 Mark Mitchell <mark@codesourcery.com>
1505
1506 * typeck2.c (build_m_component_ref): Robustify.
1507
8826b15b
AO
15082001-02-15 Alexandre Oliva <aoliva@redhat.com>
1509
1510 * friend.c (do_friend): Don't take the nested [template] class
1511 into account when deciding whether to warn about the friend
1512 function not referring to a template function.
1513
7161c1a5
JJ
15142001-02-14 Jakub Jelinek <jakub@redhat.com>
1515
1516 * typeck.c (build_unary_op): Clarify error message.
1517
4806765e
AH
15182001-02-08 Aldy Hernandez <aldyh@redhat.com>
1519
a901fa64
JM
1520 * parse.y (component_constructor_declarator): allow optional
1521 parentheses around constructor class name.
4806765e 1522
bfc8e1e2
NS
15232001-02-14 Nathan Sidwell <nathan@codesourcery.com>
1524
1525 * cp-tree.h (setup_vtbl_ptr): Move prototype to semantics.c
1526 section.
1527 * init.c (emit_base_init): Remove incorrect comment about
1528 virtual bases.
1529 * method.c (make_thunk): Fix comment alignment.
1530
394fd776
NS
15312001-02-14 Nathan Sidwell <nathan@codesourcery.com>
1532
1533 Kill remnants of this is variable.
1534 * cp-tree.h (flag_this_is_variable): Remove.
1535 * decl2.c (flag_this_is_variable): Remove.
1536 * class.c (fixed_type_or_null): Add cdtor parm. Adjust.
1537 (build_vbase_path): The path is non-static, even in a cdtor.
1538 (resolves_to_fixed_type_p): Add additional return value.
1539 * search.c (init_vbase_pointers): Adjust.
1540 * tree.c (lvalue_p_1): Adjust.
1541 * typeck.c (mark_addressable): Adjust.
1542
d0ab7624
NS
15432001-02-14 Nathan Sidwell <nathan@codesourcery.com>
1544
1545 * pt.c (unify): Don't check cv quals of array types.
1546
7773899b
NS
15472001-02-14 Nathan Sidwell <nathan@codesourcery.com>
1548
1549 * tree.c (cp_build_qualified_type_real): Use CP_TYPE_QUALS to
1550 check whether we already have the type.
1551
52682a1b
MM
15522001-02-13 Mark Mitchell <mark@codesourcery.com>
1553
1554 * cp-tree.h (CLASSTYPE_DESTRUCTORS): Fix typo in comment.
1555 * call.c (build_op_delete_call): Simplify to remove duplicate
1556 code.
1557 * class.c (clone_function_decl): Don't build the deleting variant
1558 of a non-virtual destructor.
1559 * decl.c (finish_destructor_body): Don't call delete if this is a
1560 non-virtual destructor.
1561 * init.c (build_delete): Explicitly call `operator delete' when
1562 deleting an object with a non-virtual destructor.
9c96f3f8 1563
3b6bd115
JM
15642001-02-13 Jason Merrill <jason@redhat.com>
1565
1566 * lang-specs.h: Add more __EXCEPTIONS.
1567
45abaea8
NS
15682001-02-12 Nathan Sidwell <nathan@codesourcery.com>
1569
1570 * typeck2.c (process_init_constructor): Check
1571 TREE_HAS_CONSTRUCTOR before issuing missing init warning.
1572
996065b4
NS
15732001-02-12 Nathan Sidwell <nathan@codesourcery.com>
1574
1575 * pt.c (maybe_adjust_types_for_deduction, DEDUCE_ORDER case):
1576 Remove spurious information in comment. Allow further
1577 adjustments of REFERENCE_TYPE args.
1578
82c18d5c
NS
15792001-02-12 Nathan Sidwell <nathan@codesourcery.com>
1580
1581 * errfn.c (cp_deprecated): Tweak diagnostic text.
1582 * parse.y (new_initializer): Deprecate initializer lists
1583 extension.
1584
1f84ec23
MM
15852001-02-12 Mark Mitchell <mark@codesourcery.com>
1586
1587 Remove old ABI support.
1588
8c310e3f
MM
15892001-02-11 Mark Mitchell <mark@codesourcery.com>
1590
b1012f1b
MM
1591 * decl2.c (flag_vtable_thunks): Always set it to 1.
1592 (flag_new_abi): Likewise.
1593 * lang-specs.h: Remove conditional on ENABLE_NEW_GXX_ABI.
9c96f3f8 1594
8c310e3f
MM
1595 * Makefile.in (g++spec.o): Fix typo.
1596
3b635dfc
JM
15972001-02-09 Jason Merrill <jason@redhat.com>
1598
1599 * lang-specs.h: Restore definition of __EXCEPTIONS.
1600
bd0d5d4a
JM
16012001-02-08 Jason Merrill <jason@redhat.com>
1602
1603 * search.c (shared_member_p): New function.
1604 (lookup_field_r): Use it.
1605 * cp-tree.h (SHARED_MEMBER_P): Remove.
1606
1607 * method.c (process_overload_item): Handle template-dependent array
1608 bounds.
1609 * pt.c (type_unification_real): If we end up with undeduced nontype
1610 parms, try again.
1611
1612 * decl.c (lookup_name_real): Tweak warning to refer to decls, not
1613 types.
1614
1615 * typeck2.c (friendly_abort): Don't say anything if we have
1616 earlier errors or sorries.
1617
9c96f3f8 1618 * decl.c (check_tag_decl): Notice attempts to redefine bool and
bd0d5d4a
JM
1619 wchar_t. Ignore if in_system_header.
1620
1621 * decl.c (maybe_push_cleanup_level): New fn...
1622 (start_decl_1): ...split out from here.
1623 * cvt.c (build_up_reference): Use it.
1624 * cp-tree.h: Declare it.
1625
a9374841
MM
16262001-02-07 Mark Mitchell <mark@codesourcery.com>
1627
9c96f3f8 1628 * lang-specs.h: Use CPLUSPLUS_CPP_SPEC for the preprocessor
a9374841
MM
1629 spec.
1630
a87b4257
NS
16312001-02-06 Nathan Sidwell <nathan@codesourcery.com>
1632
1633 * pt.c (lookup_template_class): Make sure it's a primary
1634 template or template_template_parm when called from the parser.
1635 (instantiate_template_class): Add assertion.
1636
518fed76
AO
16372001-02-05 Alexandre Oliva <aoliva@redhat.com>
1638
1639 * method.c (build_mangled_name) [old abi]: Protect flush_repeats()
1640 from error_mark_node.
1641
9965d119
NS
16422001-02-05 Nathan Sidwell <nathan@codesourcery.com>
1643
1644 Fix specification and implementation bugs in V3 ABI
1645 construction vtables.
1646 * cp-tree.h (flag_dump_class_layout): New flag.
1647 (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH_P): Remove.
1648 (BINFO_LOST_PRIMARY_P): New flag.
1649 (SET_BINFO_NEW_VTABLE_MARKED): Adjust asserts.
1650 (BINFO_PRIMARY_MARKED_P): Rename to ...
1651 (BINFO_PRIMARY_P): ... here.
1652 (binfo_via_virtual): New prototype.
1653 * decl2.c (flag_dump_class_layout): New flag.
1654 (cxx_decode_option): Set it. Adjust -fdump-translation-unit to
1655 use `=' as a file name separator.
1656 * init.c (dfs_initialize_vtbl_ptrs): Walk into virtual primary
1657 bases.
1658 (build_vtbl_address): If this is a virtual primary base, then
1659 get the vtbl of what it is ultimately primary for.
1660 * search.c (dfs_skip_nonprimary_vbases_unmarkedp): Adjust
1661 for BINFO_PRIMARY_P.
1662 (dfs_skip_nonprimary_vbases_markedp): Likewise.
1663 (get_shared_vbase_if_not_primary): Likewise.
1664 (dfs_get_pure_virtuals): Likewise.
1665 (expand_upcast_fixups): Likewise.
1666 (fixup_virtual_upcast_offsets): Likewise.
1667 (dfs_find_vbase_instance): Likewise.
1668 (find_vbase_instance): Likewise.
1669 (binfo_from_vbase): Adjust comment to reflect reality.
1670 (binfo_via_virtual): New function.
1671 * class.c (VTT_TOP_LEVEL_P, VTT_MARKED_BINFO_P): New macros
1672 for binfo walking during VTT construction.
1673 (dfs_mark_primary_bases): Remove.
1674 (force_canonical_binfo_r): New function.
1675 (force_canonical_binfo): New function.
1676 (mark_primary_virtual_base): New function.
1677 (mark_primary_bases): Walk in inheritance graph order, use
1678 mark_primary_virtual_base.
1679 (determine_primary_base): Use some more intermediate variables.
1680 (dfs_find_final_overrider): Don't check for overriding along a
1681 virtual path.
1682 (dfs_modify_vtables): Walk into primary virtual bases too.
1683 (walk_subobject_offsets): Adjust for BINFO_PRIMARY_P.
1684 (build_base_fields): Likewise.
1685 (dfs_set_offset_for_unshared_vbases): Likewise.
1686 (layout_virtual_bases): Likewise.
1687 (end_of_class): Likewise.
1688 (finish_struct_1): Call dump_class_hierarchy, if requested.
1689 (dfs_get_primary_binfo): Use BINFO_TYPE for binfos.
1690 (dump_class_hierarchy_r): Add stream parameter. Emit more information.
1691 (dump_class_hierarchy): Add file parameter. Append to file, if
1692 required.
1693 (finish_vtbls): Adjust accumulate_vtbl_inits call.
1694 Use canonical base for virtual bases.
1695 (build_vtt): Add more comments. Adjust build_vtt_inits call.
1696 (build_vtt_inits): Remove VIRTUAL_VTTS_P parm.
1697 Only set BINFO_VPTR_INDEX on top level. Use VTT_TOP_LEVEL_P,
1698 VTT_MARKED_BINFO_P for binfo walking. Use canonical vbase for
1699 virtual VTTs.
1700 (dfs_build_secondary_vptr_vtt_inits): Extract VTT_TOP_LEVEL_P
1701 from DATA. We want virtual primary bases and all bases via virtual.
1702 Only set BINFO_VPTR_INDEX for top level. Look up from a primary
1703 virtual base when not a construction vtable.
1704 (dfs_ctor_vtable_bases_queue_p): New DFS predicate.
1705 (build_ctor_vtbl_group): Adjust accumulate_vtbl_inits call.
1706 Use canonical bases when processing virtual bases.
1707 (accumulate_vtbl_inits): We're interested in any base via a
1708 virtual path.
1709 (dfs_accumulate_vtbl_inits): If this is a primary virtual base
1710 within a construction vtable, determine what is being overridden.
1711 (build_vtbl_initializer): Add more comments
1712 (add_vcall_offset_vtbl_entries_1): Adjust comment.
1713 (build_rtti_vtbl_entries): Check if the base has lost its
1714 primary.
1715
39d6f2e8
MM
17162001-02-05 Mark Mitchell <mark@codesourcery.com>
1717
1718 * Makefile.in (g++spec.o): Adjust use of DRIVER_DEFINES.
1719
400500c4
RK
1720Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1721
1722 * decl.c (pushdecl): Call abort instead of fatal.
1723 * except.c (decl_is_java_type): Call fatal_error instead of fatal.
1724 * init.c (build_new_1): Likewise.
1725 (build_java_class_ref): Call internal_error and fatal_error, not fatal.
1726 * decl.c (build_typename_type): hash_table_init now returns void.
1727 decl.c (init_decl_processing): Make an error non-fatal.
1728
97458258
MM
17292001-02-04 Mark Mitchell <mark@codesourcery.com>
1730
1731 * cp-tree.h (CLASSTYPE_INTERFACE_UNKNOWN): Fix formatting.
1732 Document.
1733 (CLASSTYPE_INTERFACE_KNOWN): Likewise.
1734 (SET_CLASSTYPE_INTERFACE_UNKNOWN_X): Likewise.
1735 (SET_CLASSTYPE_INTERFACE_UNKNOWN): Likewise.
1736 (SET_CLASSTYPE_INTERFACE_KNOWN): Likewise.
1737 * decl.c (maybe_commonize_var): Use the new name-mangling where
1738 appropriate.
1739 * decl2.c (comdat_linkage): Enhance comments. Make all
1740 compiler-generated things static, if COMDAT is not available.
1741 (get_tinfo_decl): Do not make typeinfo objects that belong in the
1742 library COMDAT.
1743 (tinfo_base_init): Use the correct mangled name for typeinfo
1744 strings, and push them into the global scope.
1745 (typeinfo_in_lib_p): New function.
1746 (synthesize_tinfo_var): Use it.
1747 (create_real_tinfo_var): Likewise.
9c96f3f8 1748
55de1b66
JJ
17492001-02-03 Jakub Jelinek <jakub@redhat.com>
1750
1751 * decl.c (push_class_binding): Use context_for_name_lookup instead
1752 of CP_DECL_CONTEXT.
1753 * search.c (context_for_name_lookup): Remove static. Check for NULL
1754 context in the loop.
1755 * cp-tree.h (context_for_name_lookup): Add prototype.
1756
e92730aa
JJ
17572001-02-02 Jakub Jelinek <jakub@redhat.com>
1758
1759 * cp-tree.h (build_expr_ptr_wrapper, can_free): Remove.
1760 * tree.c (build_expr_ptr_wrapper, can_free, permanent_obstack):
1761 Remove.
1762 * call.c (convert_class_to_reference, build_user_type_conversion_1,
1763 add_warning): Change build_expr_ptr_wrapper to build_ptr_wrapper.
1764
049f6ec9
MM
17652001-02-02 Mark Mitchell <mark@codesourcery.com>
1766
1767 * Make-lang.in (g++spec.o): Add DRIVER_DEFINES to the list
1768 of macros used when compiling g++spec.c.
1769 * g++spec.c (lang_specific_driver): Link with the shared
1770 libgcc by default.
1771
718b8ea5
JM
17722001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
1773
1774 * decl2.c (build_expr_from_tree), lex.c (make_pointer_declarator,
1775 make_reference_declarator, make_call_declarator), method.c
1776 (implicitly_declare_fn), parse.y (namespace_using_decl,
1777 notype_unqualified_id, expr_or_declarator, new_type_id,
1778 after_type_declarator, direct_after_type_declarator,
1779 notype_declarator, complex_notype_declarator,
1780 complex_direct_notype_declarator, qualified_id,
1781 notype_qualified_id, overqualified_id, direct_new_declarator,
1782 absdcl, direct_abstract_declarator, conversion_declarator), pt.c
1783 (tsubst), semantics.c (begin_constructor_declarator): Use build_nt
1784 instead of build_parse_node.
1785
f2d1f0ba
KG
17862001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1787
1788 * cp-tree.h (cp_tree_index): Delete CPTI_MINUS_ONE.
1789 (minus_one_node): Moved to top level gcc directory. Renamed
1790 to integer_minus_one_node.
1791
1792 * init.c (init_init_processing): Don't set minus_one_node.
1793 (build_vec_init): Use integer_minus_one_node.
1794
1795 * rtti.c (get_tinfo_decl_dynamic): Likewise.
1796
6001735e
JJ
17972001-01-28 Jakub Jelinek <jakub@redhat.com>
1798
1799 * optimize.c (copy_body_r): If MODIFY_EXPR has both arguments
1800 identical and they would be replaced with constant, remove
1801 MODIFY_EXPR from the tree.
1802
c913b6f1
KG
18032001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1804
1805 * Make-lang.in: Remove all dependencies on defaults.h.
1806 * call.c: Don't include defaults.h.
1807 * decl.c: Likewise.
1808 * decl2.c: Likewise.
1809 * except.c: Likewise.
1810 * pt.c: Likewise.
1811 * rtti.c: Likewise.
1812 * tree.c: Likewise.
1813 * typeck.c: Likewise.
1814
324ffb8c
JJ
18152001-01-25 Jakub Jelinek <jakub@redhat.com>
1816
1817 * mangle.c (write_mangled_name, write_encoding): Mangle overloaded
1818 operators even in "C" linkage.
1819 * method.c (set_mangled_name_for_decl): Likewise.
1820 * decl.c (grokfndecl): Call set_mangled_name_for_decl even for
1821 overloaded operators in "C" linkage.
1822
4b2811e9
NS
18232001-01-24 Nathan Sidwell <nathan@codesourcery.com>
1824
1825 * pt.c (tsubst_decl): Remove IN_DECL parameter.
1826 (tsubst_arg_types): Check parameter is not void.
1827 (tsubst): Adjust tsubst_decl call.
1828
d8caf48e
NS
18292001-01-24 Nathan Sidwell <nathan@codesourcery.com>
1830
1831 * call.c (add_builtin_candidate): Quote std properly, from
1832 previous change.
1833
08511114
KL
18342001-01-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1835
1836 * pt.c (check_explicit_specialization): Clone constructors and
1837 destructors.
1838
92ecdfb7
NS
18392001-01-23 Nathan Sidwell <nathan@codesourcery.com>
1840
1841 * decl.c (grokdeclarator): Don't presume DECL_LANG_SPECIFIC
1842 indicates anything special about template depth. Make sure we
1843 only count the user visible template classes.
1844
4cff6abe
NS
18452001-01-23 Nathan Sidwell <nathan@codesourcery.com>
1846
1847 * call.c (build_conv): Typo in comment.
1848 (add_builtin_candidate): Add more explanation.
1849 Remove extra test for ENUMERAL_TYPE in {PRE,POST}INCREMENT_EXPR.
1850 Allow ENUMERAL_TYPEs for relops and eqops. Add both candidates
1851 when we have enumeral types.
1852 (add_builtin_candidates): Add more explanation. Add ENUMERAL_TYPE
1853 candidates for relops and eqops.
1854 (joust): Simplify control flow. Allow a non-template user
1855 function to hide a builtin.
1856
62e4a758
NS
18572001-01-22 Nathan Sidwell <nathan@codesourcery.com>
1858
1859 * cp-tree.h (unification_kind_t): Add DEDUCE_ORDER.
1860 (more_specialized): Add deduction parameter.
1861 * call.c (joust): Adjust more_specialized call.
1862 * pt.c (UNIFY_ALLOW_OUTER_MORE_CV_QUAL,
1863 UNIFY_ALLOW_OUTER_LESS_CV_QUAL): New unify flags.
1864 (get_bindings_order): Remove.
1865 (get_bindings_real): Add DEDUCE parameter.
1866 (maybe_adjust_types_for_deduction): Return extra unify flags. Do
1867 REFERENCE_TYPE jig for DEDUCE_ORDER.
1868 (type_unification_real): Deal with DEDUCE_ORDER. Use result of
1869 maybe_adjust_types_for_deduction.
1870 (more_specialized): Add DEDUCE parameter. Call get_bindings_real
1871 directly.
1872 (try_one_overload): Use result of maybe_adjust_types_for_deduction.
1873 (check_cv_quals_for_unify): Use new unify qualifier flags.
1874 (unify): Clear new unify qualifier flags.
1875 (get_bindings_real): Add DEDUCE parameter.
1876 (get_bindings): Adjust call to get_bindings_real.
1877 (get_bindings_overload): Likewise.
1878 (most_specialized_instantiation): Adjust call to
1879 more_specialized.
1880
2a2a9e5a
JM
18812001-01-19 Jason Merrill <jason@redhat.com>
1882
1883 * decl2.c (flag_vtable_thunks): Also depend on ENABLE_NEW_GXX_ABI.
1884
1885 * decl.c (init_decl_processing): Just force -fvtable-thunks on if
1886 -fnew-abi.
1887
60696c53
JM
18882001-01-19 Ute Pelkmann <scope.muc@t-online.de>
1889
1890 * decl2.c (arg_assoc_class): Fix double iteration logic.
1891
18922001-01-19 Jason Merrill <jason@redhat.com>
1893
1894 * init.c (build_delete): Always call convert_force to strip cv-quals.
1895
1896 * decl2.c (flag_new_abi): Depend on ENABLE_NEW_GXX_ABI.
1897 * lang-specs.h: Default ABI depends on ENABLE_NEW_GXX_ABI.
1898 * g++spec.c: Don't look at ENABLE_NEW_GXX_ABI.
1899
1e00f18c
NS
19002001-01-19 Nathan Sidwell <nathan@codesourcery.com>
1901
1902 * search.c (get_vbase_1): Count only virtual bases.
1903
e13bced2
NS
19042001-01-19 Nathan Sidwell <nathan@codesourcery.com>
1905
1906 * class.c (duplicate_tag_error): Robustify flag clearing.
1907
f9c244b8
NS
19082001-01-19 Nathan Sidwell <nathan@codesourcery.com>
1909
1910 * cp-tree.h (lookup_template_class): Add complain parm.
1911 * decl.c (lookup_namespace_name): Adjust call to
1912 lookup_template_class.
1913 (make_typename_type): Likewise.
1914 * semantics.c (finish_template_type): Likewise.
1915 * pt.c (lookup_template_class): Add complain parm. Adjust.
1916 (tsubst_aggr_type): Pass COMPLAIN down to lookup_template_class.
1917 (tsubst): Likewise.
1918
08c2df0f
NS
19192001-01-19 Nathan Sidwell <nathan@codesourcery.com>
1920
1921 * pt.c (copy_default_args_to_explicit_spec): Preserve
1922 object's CV quals. Reorganize.
1923
f5ceeec8
NS
19242001-01-18 Nathan Sidwell <nathan@codesourcery.com>
1925
1926 * typeck.c (build_modify_expr): Say `initialization' for
1927 INIT_EXPRs.
1928 * init.c (build_default_init): Convert to enumeral type, if
1929 needed.
1930
a1cfa434
JJ
19312001-01-18 Jakub Jelinek <jakub@redhat.com>
1932
1933 * parse.y (nomods_initdcl0): Properly set things up for
1934 initdcl0_innards.
1935
028d1f20
NS
19362001-01-18 Nathan Sidwell <nathan@codesourcery.com>
1937
1938 * pt.c (UNIFY_ALLOW_OUTER_LEVEL): New unify flag.
1939 (type_unification_real): Set it.
1940 (unify): Use it.
1941
9f724b6a
NS
19422001-01-18 Nathan Sidwell <nathan@codesourcery.com>
1943
1944 * decl.c (finish_destructor_body): Convert to vbase pointer here.
1945
522d6614
NS
19462001-01-18 Nathan Sidwell <nathan@codesourcery.com>
1947
1948 * semantics.c (begin_class_definition): Check we're not inside a
1949 template parm list.
1950
7f805b8f
NS
19512001-01-18 Nathan Sidwell <nathan@codesourcery.com>
1952
1953 * tree.c (walk_tree, TREE_LIST): Don't walk the TREE_PURPOSE of
1954 BASELINK_P.
1955
dc3799c1
KL
19562001-01-16 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1957
1958 * typeck.c (build_function_call_real): Call fold on the CALL_EXPR.
1959 * call.c (build_over_call): Add comment.
1960
bb37c4a5
DB
19612001-01-16 Daniel Berlin <dberlin@redhat.com>
1962
826840d9
RH
1963 * cvt.c (ocp_convert): Handle vector type conversion
1964 * typeck2.c (digest_init): Handle vector type initializations
9c96f3f8 1965
a26e7fb5
PE
19662001-01-16 Phil Edwards <pme@sources.redhat.com>
1967
1968 * g++spec.c: Don't add libraries needlessly if -fsyntax-only
1969 was given.
1970
11b810f1
NS
19712001-01-15 Nathan Sidwell <nathan@codesourcery.com>
1972
1973 * pt.c (check_nontype_parm): Rename to ...
1974 (invalid_nontype_parm_type_p): ... here.
1975 (process_template_parm): Adjust.
1976 (convert_template_argument): Adjust.
1977
db3f4e4e
NS
19782001-01-15 Nathan Sidwell <nathan@codesourcery.com>
1979
1980 * pt.c (check_nontype_parm): New function.
1981 (process_template_parm): Use it.
1982 (convert_template_argument): Use it.
1983 (convert_nontype_argument, RECORD_TYPE): Assert it's a ptr to
1984 member.
1985
ea4f1fce
JO
19862001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
1987
1988 * tree.c: Add defaults.h
1989 (cp_valid_lang_attribute): Incorporate SUPPORTS_INIT_PRIORITY.
1990 * Make-lang.in (cp/tree.o): Add defaults.h.
1991
1312c143
JM
19922001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
1993
1994 * Make-lang.in (CXX_C_OBJS): Add c-format.o.
1995
4bc1997b
JM
19962001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
1997
1998 * g++.1: Change to be ".so man1/gcc.1".
1999
23de1fbf
JM
20002001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
2001
2002 * Make-lang.in (c++.info, c++.install-info): Build and install g++
2003 internals info.
2004 (c++.uninstall, c++.maintainer-clean): Remove g++ internals info.
2005 ($(srcdir)/cp/g++int.info): New target.
2006 * gxxint.texi: Add info directory entry. Use @@ in email address.
2007 * .cvsignore: Update.
2008
0949f723
NS
20092001-01-12 Nathan Sidwell <nathan@codesourcery.com>
2010
2011 * typeck.c (build_c_cast): Do template processing earlier.
2012 Always pedwarn on array casts.
2013
a8641661
NS
20142001-01-12 Nathan Sidwell <nathan@codesourcery.com>
2015
2016 * friend.c (make_friend_class): Make sure a templated class is
2017 actually a template.
2018
844511c8
NS
20192001-01-11 Nathan Sidwell <nathan@codesourcery.com>
2020
2021 * decl2.c (get_guard): Set linkage from guarded decl.
2022
96a1e32d
NS
20232001-01-11 Nathan Sidwell <nathan@codesourcery.com>
2024
2025 * call.c (convert_default_arg): Check for unprocessed
2026 DEFAULT_ARG.
2027 * cp-tree.h (replace_defarg): Move to spew.c.
2028 (maybe_snarf_defarg, add_defarg_fn, do_pending_defargs): Move to
2029 spew.c, which is where they really are.
2030 (done_pending_defargs): Declare.
2031 (unprocessed_defarg_fn): Declare.
2032 * decl.c (replace_defarg): Move to spew.c
2033 * parse.y (structsp): Call done_pending_defargs.
2034 * spew.c (defarg_fns): Rearrange list structure.
2035 (defarg_fnsdone): New static variable.
2036 (defarg_depfns): New static variable.
2037 (init_spew): Adjust.
2038 (add_defarg_fn): Store the type in TREE_TYPE.
2039 (do_pending_defargs): Detect and deal with ordering constraints
2040 and circularity.
2041 (done_pending_defargs): New function.
2042 (unprocessed_defarg_fn): New function.
2043 (replace_defarg): Moved from decl.c. Robustify. Don't save
2044 if circularity detected.
2045
34e225a3
NS
20462001-01-11 Nathan Sidwell <nathan@codesourcery.com>
2047
2048 * pt.c (unify): Check array has a domain, before checking
2049 whether it is variable sized.
2050
98979fe0
NS
20512001-01-11 Nathan Sidwell <nathan@codesourcery.com>
2052
2053 * decl.c (grokparms): Unobfuscate and get correct diagnostic for
2054 parameters with pointers to arrays of unknown bound.
2055
b37bf5bd
NS
20562001-01-11 Nathan Sidwell <nathan@codesourcery.com>
2057
2058 * parse.y (template_parm_header, template_spec_header): New
2059 reductions. Split out from ...
2060 (template_header): ... here. Use them.
2061 (template_template_parm): Use template_parm_header.
2062 * semantics.c (finish_template_template_parm): Add assert.
2063
6c418184
MM
20642001-01-10 Mark Mitchell <mark@codesourcery.com>
2065
792508b5
MM
2066 * mangle.c (write_builtin_type): Fix thinko.
2067
8afa707f
MM
2068 * pt.c (copy_default_args_to_explicit_spec_1): New function.
2069 (copy_default_args_to_explicit_spec): Likewise.
2070 (check_explicit_specialization): Use it.
2071
6c418184
MM
2072 * class.c (finish_struct_1): Remove last argument in call to
2073 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
2074 * decl.c (builtin_function): Likewise.
2075 (build_cp_library_fn): Likewise.
2076 (check_initializer): Likewise.
2077 (make_rtl_for_nonlocal_decl): Likewise.
2078 (cp_finish_decl): Likewise.
2079 (start_function): Likewise.
2080 * decl2.c (finish_anon_union): Likewise.
2081 * friend.c (do_friend): Likewise.
2082 * init.c (build_java_class_ref): Likewise.
2083 * method.c (make_thunk): Likewise.
2084 * pt.c (tsubst_friend_function): Likewise.
2085 * semantics.c (expand_body): Likewise.
2086
31d95fc6
MM
20872001-01-10 Mark Mitchell <mark@codesourcery.com>
2088
2089 * cp-tree.h (DECL_CLONED_FUNCTION_P): Avoid wild reads by not
2090 looking at DECL_CLONED_FUNCTION for non-functions.
2091
31bb3027
NS
20922001-01-10 Nathan Sidwell <nathan@codesourcery.com>
2093
2094 * error.c (dump_template_parameter): Use parm to determine how
2095 to print default value.
2096
fd3f43e7
NS
20972001-01-10 Nathan Sidwell <nathan@codesourcery.com>
2098
2099 * class.c (duplicate_tag_error): Clear more flags.
2100
042b4c4e
NS
21012001-01-10 Nathan Sidwell <nathan@codesourcery.com>
2102
2103 * call.c (build_new_method_call): Use binfo_for_vbase.
2104
a7537031
JM
21052001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
2106
2107 * cp-tree.h (flag_cond_mismatch): Don't declare.
2108 * decl2.c (flag_cond_mismatch): Don't define.
2109 (lang_f_options): Remove cond-mismatch.
2110 (unsupported_options): Add cond-mismatch.
2111
186c0fbe
NS
21122001-01-09 Nathan Sidwell <nathan@codesourcery.com>
2113
2114 * class.c (handle_using_decl): Reject using of constructor name
2115 of sourcing class. Allow injecting of a method with same name as
2116 nested class. Fixup error messages.
2117
28ec8d6b
JM
21182001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
2119
2120 * decl2.c (lang_decode_option): Handle -Wformat=2.
2121
3febd123
NS
21222001-01-08 Nathan Sidwell <nathan@codesourcery.com>
2123
2124 * cp-tree.h (lang_decl_flags): Rename defined_in_class to
2125 initialized_in_class.
2126 (DECL_DEFINED_IN_CLASS_P): Rename to ...
2127 (DECL_INITIALIZED_IN_CLASS_P): ... here, to reflect true meaning.
2128 * decl.c (duplicate_decls): Preseve DECL_INITIALIZED_IN_CLASS_P.
2129 (cp_finish_decl): Adjust for DECL_INITIALIZED_IN_CLASS_P.
2130 * pt.c (check_default_tmpl_args): Adjust for
2131 DECL_INITIALIZED_IN_CLASS_P.
2132 (instantiate_class_template): Likewise.
2133 (instantiate_decl): Check DECL_INITIALIZED_IN_CLASS_P.
9c96f3f8 2134
3febd123
NS
2135 * class.c (finish_struct): Constify saved_filename.
2136
1f0d71c5
NS
21372001-01-08 Nathan Sidwell <nathan@codesourcery.com>
2138
2139 * class.c (duplicate_tag_error): Adjust diagnostic.
2140 (finish_struct): Locally set location to start of struct.
2141 * decl.c (fixup_anonymous_aggr): Use cp_error_at.
2142
5bf15e84 21432001-01-08 Nathan Sidwell <nathan@codesourcery.com>
76191fdd
NS
2144
2145 * decl.c (struct binding_level): Adjust class_shadowed comments
2146 to reflect reality.
2147 (push_class_level_binding): Ajust comments to reflect reality.
2148 Set IDENTIFIER_CLASS_VALUE when replacing an existing binding.
2149 Don't set TREE_VALUE on the class_shadowed list.
2150
23d4e4cc 21512001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
9c96f3f8
AJ
2152
2153 * decl2.c (acceptable_java_type): Allow references too.
23d4e4cc
APB
2154 * init.c (build_java_class_ref): When using the new ABI, search
2155 `class$' and have it mangled with `mangle_decl.'
2156 * mangle.c (write_java_integer_type_codes): New function.
2157 (write_builtin_type): Detect and mangle Java integer and real
2158 types.
9c96f3f8 2159
0c58da3e
MM
21602001-01-07 Mark Mitchell <mark@codesourcery.com>
2161
2162 * decl2.c (grokfield): Don't accept `asm' specifiers for
2163 non-static data members.
2164
45b8ddb4
KG
21652001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2166
2167 * expr.c (cplus_expand_expr): Don't reset `target'.
2168
96302433
NB
21692001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
2170
826840d9 2171 * cp/decl2.c (cxx_post_options): Call cpp_post_options.
96302433 2172
220bce48
NS
21732001-01-05 Nathan Sidwell <nathan@codesourcery.com>
2174
2175 * parse.y (template_datadef): Check for error_mark_node.
2176
bfa2cb33
NS
21772001-01-05 Nathan Sidwell <nathan@codesourcery.com>
2178
2179 * cp-tree.def (DEFAULT_ARG): Make `x' class.
2180
eaa7c03f
JM
21812001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
2182
2183 * decl.c (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Don't define.
2184 (record_builtin_type): Make non-static.
2185 (flag_short_double): Don't declare.
2186 (init_decl_processing): Remove the creation of many tree nodes now
2187 in c_common_nodes_and_builtins.
2188 (build_void_list_node): New function.
2189 * decl2.c (flag_short_double, flag_short_wchar): Don't define.
2190 * cp-tree.h (flag_short_wchar): Don't declare.
2191
3af4c257
MM
21922001-01-04 Mark Mitchell <mark@codesourcery.com>
2193
2194 * call.c (build_conv): Don't use build1 for USER_CONV.
2195 * pt.c (tsubst_copy): Or for PREINCREMENT_EXPR and similar nodes.
2196
03dc0325
JM
21972001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
2198
2199 * lex.c (lang_init): Call c_common_lang_init.
2200
3c505507
NS
22012001-01-03 Nathan Sidwell <nathan@codesourcery.com>
2202
2203 * search.c (lookup_fnfields_here): Remove.
2204 (look_for_overrides_r): Use lookup_fnfields_1.
2205 Ignore functions from using declarations.
2206
03378143
NS
22072001-01-03 Nathan Sidwell <nathan@codesourcery.com>
2208
2209 Implement exceptions specifiers for implicit member functions.
2210 * cp-tree.h (merge_exceptions_specifiers): Declare new function.
2211 * method.c (synthesize_exception_spec): New function.
2212 (locate_dtor, locate_ctor, locate_copy): New functions.
2213 (implicitly_declare_fn): Generate the exception spec too.
2214 * search.c (check_final_overrider): Check artificial functions
2215 too.
9c96f3f8 2216 * typeck2.c (merge_exception_specifiers): New function.
03378143 2217
f30efcb7
JM
22182001-01-03 Jason Merrill <jason@redhat.com>
2219
2220 * init.c (build_default_init): New fn.
2221 (perform_member_init): Split out from here.
2222 (build_new_1): Use it. Simplify initialization logic.
2223 (build_vec_init): Take an array, rather than a pointer and maxindex.
2224 Speed up simple initializations. Don't clean up if we're assigning.
2225 * cp-tree.h: Adjust.
2226 * decl2.c (do_static_initialization): Remove TREE_VEC case.
2227 * parse.y (new_initializer): Return void_zero_node for ().
2228 * typeck.c (build_modify_expr): Handle getting a CONSTRUCTOR.
2229 * typeck2.c (digest_init): Only complain about user-written
2230 CONSTRUCTORs.
2231
a412bf75
MS
22322000-12-22 Mike Stump <mrs@wrs.com>
2233
2234 * decl2.c: (max_tinst_depth): Increase to 50.
2235
4890c2f4
MM
22362001-01-02 Mark Mitchell <mark@codesourcery.com>
2237
2238 * class.c (invalidate_class_lookup_cache): Zero the
2239 previous_class_values.
2240 * cp-tree.h (TMPL_PARMS_DEPTH): Use TREE_INT_CST_LOW, not
2241 TREE_INT_CST_HIGH.
2242 (CLASSTYPE_TEMPLATE_LEVEL): Likewise.
2243 * decl.c (free_bindings): New variable.
2244 (push_binding): Don't create a new binding if we have one on the
2245 free list.
2246 (pop_binding): Put old bindings on the free list.
2247 (init_decl_processing): Use size_int, not build_int_2.
2248 Register free_bindings as a GC root.
2249 (cp_make_fname_decl): Use size_int, not build_int_2.
2250 (push_inline_template_parms_recursive): Likewise.
2251 (end_template_parm_list): Likewise.
2252 (for_each_tempalte_parm): Do not use walk_tree_without_duplicates.
2253 (tsubst_template_parms): Use size_int, not build_int_2.
2254 (tsubst): Likewise.
2255 * rtti.c (get_vmi_pseudo_type_info): Likewise.
9c96f3f8 2256
4f78b9a8
RH
22572001-01-02 Richard Henderson <rth@redhat.com>
2258
2259 * parse.y (asm): Set ASM_INPUT_P.
2260
3c8c2a0a
JM
22612001-01-02 Jason Merrill <jason@redhat.com>
2262
96d6c610
JM
2263 * tree.c (cp_valid_lang_attribute): Don't set CLASSTYPE_COM_INTERFACE
2264 for v3 ABI.
2265
2266 * typeck.c (cp_truthvalue_conversion): New fn.
2267 * cvt.c (ocp_convert): Use it.
2268
2269 * cp-tree.h: Lose c-common.c decls.
2270
2271 * typeck.c (build_unary_op): Restore old &a.f diagnostic code.
2272 * cvt.c (convert_to_void): Use type_unknown_p.
2273
9c96f3f8 2274 * typeck.c (strip_all_pointer_quals): Also strip quals from
3c8c2a0a
JM
2275 pointer-to-member types.
2276
2277 * Make-lang.in (cp/TAGS): Use --no-globals. Ignore parse.c, and treat
2278 parse.y as C.
2279
2280 * call.c (build_new_method_call): Do evaluate the object parameter
2281 when accessing a static member.
2282 * typeck.c (build_component_ref): Likewise.
2283
d363e7bf
AJ
22842001-01-02 Andreas Jaeger <aj@suse.de>
2285
2286 * decl.c (cp_missing_noreturn_ok_p): New.
2287 (init_decl_processing): Set lang_missing_noreturn_ok_p.
2288
77f5250d
JJ
22892000-12-29 Jakub Jelinek <jakub@redhat.com>
2290
2291 * decl.c (init_decl_processing): Fix sign of wchar_type_node.
2292
31a714f6
MM
22932000-12-29 Mark Mitchell <mark@codesourcery.com>
2294
2295 * class.c (pushclass): Remove #if 0'd code.
2296 * cp-tree.h (overload_template_name): Remove.
2297 * decl.c (store_bindings): Simplify.
2298 (pop_from_top_level): Likewise.
2299 * pt.c (overload_template_name): Remove.
d363e7bf 2300 (instantiate_decl): Don't call push_to_top_level if it's not
31a714f6
MM
2301 needed.
2302
414ea4aa
MM
23032000-12-28 Mark Mitchell <mark@codesourcery.com>
2304
2305 * pt.c (register_local_specialization): Don't return a value.
2306 (lookup_template_class): Use move-to-front heuristic when looking
2307 up template instantiations.
2308 (instantiate_decl): Only push_to_top_level when we're actually
2309 going to instantiate the template.
2310
6f18f7e9
HPN
23112000-12-29 Hans-Peter Nilsson <hp@bitrange.com>
2312
2313 * search.c (binfo_for_vtable): Return least derived class, not
2314 most. Handle secondary vtables.
2315
e5214479
JM
23162000-12-22 Jason Merrill <jason@redhat.com>
2317
3c8c2a0a
JM
2318 * pt.c (more_specialized): Don't optimize len==0.
2319 (fn_type_unification): If we're adding the return type, increase len.
2320
ebb1abc3
JM
2321 * typeck.c (build_binary_op): Fix pmf comparison logic.
2322
c939ca5f
JM
2323 * call.c (joust): Use DECL_NONSTATIC_MEMBER_FUNCTION_P, not
2324 DECL_STATIC_FUNCTION_P.
2325
e6fe680d
JM
2326 * semantics.c (genrtl_finish_function): Don't try to jump to
2327 return_label unless it exists.
2328
e5214479
JM
2329 In partial ordering for a call, ignore parms for which we don't have
2330 a real argument.
2331 * call.c (joust): Pass len to more_specialized.
2332 (add_template_candidate_real): Strip 'this', pass len.
2333 * pt.c (more_specialized): Pass len down. Lose explicit_args parm.
2334 (get_bindings_order): New fn. Pass len down.
2335 (get_bindings_real): Strip 'this', pass len.
2336 (fn_type_unification): Likewise.
2337 (type_unification_real): Succeed after checking 'len' args.
2338 (most_specialized_instantiation): Lose explicit_args parm.
d363e7bf 2339 * class.c (resolve_address_of_overloaded_function): Strip 'this',
e5214479
JM
2340 pass len.
2341
23422000-12-21 Jason Merrill <jason@redhat.com>
477f6664
JM
2343
2344 * pt.c (tsubst_decl): A FUNCTION_DECL has DECL_RESULT, not
2345 DECL_TEMPLATE_RESULT.
2346
2347 * search.c (lookup_field_r): Call lookup_fnfields_1, not
2348 lookup_fnfields_here.
2349
2350 * parse.y (typename_sub2): Return the TYPE_DECL, not the type.
2351
2352 * call.c (build_object_call): Also allow conversions that return
2353 reference to pointer to function.
2354 (add_conv_candidate): Handle totype being ref to ptr to fn.
2355 (build_field_call): Also allow members of type reference to function.
2356 Lose support for calling pointer to METHOD_TYPE fields.
2357
2358 * error.c (dump_expr): Handle *_CAST_EXPR.
2359
2360 * typeck2.c (build_scoped_ref): Always convert to the naming class.
2361
2362 * tree.c (break_out_cleanups): Lose.
2363 * cp-tree.h: Remove prototype.
2364 * typeck.c (build_component_ref): Don't break_out_cleanups.
2365 (build_compound_expr): Likewise.
2366 * semantics.c (finish_expr_stmt): Likewise.
2367
3e4d04a1
RH
23682000-12-20 Richard Henderson <rth@redhat.com>
2369
2370 * cp-tree.h: Update declarations.
2371 * decl.c (finish_case_label): Return the new stmt node.
2372 * semantics.c (finish_goto_stmt): Likewise.
2373 (finish_expr_stmt, finish_return_stmt): Likewise.
2374 (finish_break_stmt, finish_continue_stmt): Likewise.
2375 (finish_asm_stmt): Likewise.
2376 * parse.y (already_scoped_stmt): Set STMT_LINENO.
2377 (compstmt, implicitly_scoped_stmt, stmt): Likewise.
2378 (simple_if, simple_stmt): Return the new stmt node.
2379 (save_lineno): New.
2380
20d380b1
JM
23812000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
2382
2383 * cp-tree.h: Don't declare warn_long_long.
2384
221c7a7f
KL
23852000-12-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2386
2387 * tree.c (no_linkage_helper): Use CLASS_TYPE_P instead of
2388 IS_AGGR_TYPE.
2389
b429fdf0
KL
23902000-12-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2391
2392 * pt.c (unify): Handle when both ARG and PARM are
2393 BOUND_TEMPLATE_TEMPLATE_PARM.
2394
c2beae77
KL
23952000-12-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2396
2397 * pt.c (reduce_template_parm_level): Set DECL_ARTIFICIAL and
2398 DECL_TEMPLATE_PARM_P.
2399
c3e899c1
JM
24002000-12-15 Jason Merrill <jason@redhat.com>
2401
96790071
JM
2402 * init.c (build_new_1): Reorganize. Now with 100% fewer SAVE_EXPRs!
2403
8d42565b
JM
2404 * init.c (build_new_1): Don't strip quals from type.
2405
fab09a24
JM
2406 * decl.c (pushdecl): Don't check for linkage on a non-decl.
2407
c3e899c1
JM
2408 * call.c (build_op_delete_call): See through ARRAY_TYPEs.
2409
2410 * call.c (build_new_function_call): Lose space before paren in
2411 error message.
2412 (build_new_method_call): Likewise.
2413
2414 * typeck2.c (build_m_component_ref): Propagate quals from datum.
2415
edac124d
KL
24162000-12-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2417
2418 * pt.c (check_explicit_specialization): Propagate default
2419 function arguments to explicit specializations.
2420
31750649 24212000-12-13 DJ Delorie <dj@redhat.com>
8d3b081e
DD
2422
2423 * typeck.c (build_binary_op): Do signed/unsigned warnings for >?
2424 and <? operators.
2425
5e818b93
JM
24262000-12-08 Jason Merrill <jason@redhat.com>
2427
2428 * error.c (dump_function_name): Don't let the user see __comp_ctor.
2429
2430 Clean up copy-initialization in overloading code.
2431 * call.c (build_user_type_conversion_1): Die if we are asked to
2432 convert to the same or a base type.
2433 (implicit_conversion): Avoid doing so. Lose reference binding code.
2434 (convert_like_real): Treat BASE_CONV and RVALUE_CONV as implicit
2435 direct-initialization. Also do direct-init part of copy-init.
2436 (build_user_type_conversion): Don't provide context to convert_like.
2437 * cvt.c (ocp_convert): build_user_type_conversion will now provide
2438 the constructor call for copy-init.
2439
2440 * pt.c (tsubst_decl): Call clone_function_decl here if this is an
2441 instantiation of a member template.
2442 (do_decl_instantiation): Not here.
2443
38da6039
NS
24442000-12-07 Nathan Sidwell <nathan@codesourcery.com>
2445
2446 * class.c (check_field_decls): Don't special case anonymous
2447 fields in error messages.
c9407e4c 2448 (note_name_declared_in_class): Use %D on diagnostic.
d363e7bf 2449
38da6039
NS
2450 * tree.c (pod_type_p): Use strip_array_types.
2451 (cp_valid_lang_attribute): Likewise.
2452 * typeck.c (cp_type_quals): Strip arrays separately, to avoid
2453 multiple evaluations.
d363e7bf 2454 (cp_has_mutable_p): Use strip_array_types.
38da6039 2455
a11d04b5
NS
24562000-12-07 Nathan Sidwell <nathan@codesourcery.com>
2457
2458 * cp-tree.h (sufficient_parms_p): Declare new function.
2459 * call.c (sufficient_parms_p): New function, broken out of ...
2460 (add_function_candidate): ... here. Use it.
2461 (add_conv_candidate): Use it.
2462 * decl.c (grok_ctor_properties): Use it.
2463
5eec2847
JJ
24642000-12-07 Jakub Jelinek <jakub@redhat.com>
2465
2466 * optimize.c (copy_body_r): Set STMT_IS_FULL_EXPR_P on EXPR_STMT.
2467
c907e684
JM
24682000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
2469
2470 * decl2.c (lang_decode_option): Handle -Wformat-security.
2471
74601d7c
KL
24722000-12-06 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2473
2474 * pt.c (verify_class_unification): New function.
2475 (get_class_bindings): Use it.
2476 (try_class_unification): Tidy.
2477 (unify): Handle when argument of a template-id is not
2478 template parameter dependent.
2479 (template_args_equal): Handle when TREE_CODE's do not match.
2480
8954e858
AO
24812000-12-06 Alexandre Oliva <aoliva@redhat.com>
2482
2483 * lang-specs.h (c++): When invoking the stand-alone preprocessor
2484 for -save-temps, pass all relevant -Defines to it, and then don't
2485 pass them to cc1plus.
2486
3dc9aec6
WC
24872000-12-05 Will Cohen <wcohen@redhat.com>
2488
2489 * decl.c (finish_case_label): Cleared
2490 more_cleanups_ok in surrounding function scopes.
2491 (define_label): Likewise.
2492
cbb40945
NS
24932000-12-05 Nathan Sidwell <nathan@codesourcery.com>
2494
2495 * cp-tree.h (IDENTIFIER_VIRTUAL_P): Document.
2496 (get_matching_virtual): Remove.
2497 (look_for_overrides): Declare new function.
2498 * decl.c (grokfndecl): Don't set IDENTIFIER_VIRTUAL_P or
2499 DECL_VINDEX here.
2500 * class.c (check_for_override): Move base class iteration code
2501 to look_for_overrides.
2502 * search.c (next_baselink): Remove.
2503 (get_virtuals_named_this): Remove.
2504 (get_virtual_destructor): Remove.
2505 (tree_has_any_destructors_p): Remove.
2506 (struct gvnt_info): Remove.
2507 (check_final_overrider): Remove `virtual' from error messages.
2508 (get_matching_virtuals): Remove. Move functionality to ...
2509 (look_for_overrides): ... here, and ...
2510 (look_for_overrides_r): ... here. Set DECL_VIRTUAL_P, if found
2511 to be overriding.
2512
61402b80
NS
25132000-12-05 Nathan Sidwell <nathan@codesourcery.com>
2514
2515 * typeck.c (get_delta_difference): If via a virtual base,
2516 return zero.
2517 * cvt.c (cp_convert_to_pointer): If via a virtual base, do no
2518 adjustment.
2519
39abc9a6
RH
25202000-12-04 Richard Henderson <rth@redhat.com>
2521
2522 * error.c (dump_tree): Use output_add_string not OB_PUTS.
2523
c00996a3
JM
25242000-12-04 Jason Merrill <jason@redhat.com>
2525
2526 * mangle.c (write_type): Mangle VECTOR_TYPE with "U8__vector".
d363e7bf 2527 (write_builtin_type): Pass intSI_type_node and the like through
c00996a3
JM
2528 type_for_mode.
2529 * method.c (process_overload_item): Mangle VECTOR_TYPEs with 'o'.
2530 Pass intSI_type_node and the like through type_for_mode.
2531 * decl2.c (arg_assoc_type): Handle VECTOR_TYPE like COMPLEX_TYPE.
2532 * pt.c (tsubst, unify): Likewise.
2533 * tree.c (walk_tree): Likewise.
2534 * error.c (dump_type): Likewise.
2535 (dump_type_prefix, dump_type_suffix): Don't bother with VECTOR_TYPE.
d363e7bf 2536
c00996a3
JM
2537 * Make-lang.in: Tweak top comment for emacs.
2538 (cp/TAGS): Restore.
2539
2540 * except.c (expand_throw): Use push_throw_library_fn for _Jv_Throw.
2541
c00996a3
JM
2542 * class.c (clone_function_decl): Robustify.
2543
25442000-12-04 Michael Matz <matzmich@cs.tu-berlin.de>
2545
2546 * decl.c (store_bindings): Only search in the non modified
2547 old_bindings for duplicates.
2548
00bb3dad
NS
25492000-12-04 Nathan Sidwell <nathan@codesourcery.com>
2550
2551 * error.c (dump_function_decl): Use DECL_VIRTUAL_P, not
2552 TYPE_POLYMORPHIC_P.
d363e7bf 2553
00bb3dad
NS
2554 * typeck.c (build_static_cast): Remove unused variable.
2555
dc957d14
KL
25562000-12-01 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2557
2558 * pt.c: Fix typo in comment.
2559
4d808927
JM
25602000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
2561
2562 * decl2.c (warn_format): Remove definition.
2563 (lang_decode_option): Handle -Wformat-nonliteral,
2564 -Wno-format-extra-args and -Wno-format-y2k. Use set_Wformat.
2565
5fd8e536
JM
25662000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
2567
2568 * decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
2569 (init_decl_processing): Don't create string_type_node,
2570 const_string_type_node, wint_type_node, intmax_type_node,
2571 uintmax_type_node, default_function_type, ptrdiff_type_node and
2572 unsigned_ptrdiff_type_node. Adjust position of call to
2573 c_common_nodes_and_builtins.
2574 (identifier_global_value): New function.
2575
13f9714b
NS
25762000-12-01 Nathan Sidwell <nathan@codesourcery.com>
2577
2578 * call.c (standard_conversion): Reject pointer to member
2579 conversions from ambiguous, inaccessible or virtual bases.
2580 * typeck.c (build_static_cast): Don't check pointers to members
2581 specially.
2582
31b1b957
NS
25832000-11-30 Nathan Sidwell <nathan@codesourcery.com>
2584
2585 * method.c (do_build_copy_constructor): Preserve cv
2586 qualifications when accessing source object members.
2587 (do_build_assign_ref): Likewise. Remove separate diagnostics for
2588 unnamed fields.
2589
717e3f73
NS
25902000-11-30 Nathan Sidwell <nathan@codesourcery.com>
2591
2592 * method.c (do_build_assign_ref): Construct appropriately
2593 CV-qualified base reference. Don't allow const casts in base
2594 conversion.
2595
2c92b94d
NS
25962000-11-30 Nathan Sidwell <nathan@codesourcery.com>
2597
2598 * call.c (build_over_call): Use VOID_TYPE_P. Don't die on
2599 incomplete return type.
2600
bb92901d
NS
26012000-11-28 Nathan Sidwell <nathan@codesourcery.com>
2602
2603 * parse.y (base_class.1): Produce a _TYPE not a _DECL.
2604 * semantics.c (finish_base_specifier): Accept a _TYPE not a
2605 _DECL.
2606
2f3608c3
NS
26072000-11-28 Nathan Sidwell <nathan@codesourcery.com>
2608
2609 * spew.c (yyerror): Cope if yylval.ttype is NULL.
2610
eeb75383
NS
26112000-11-28 Nathan Sidwell <nathan@codesourcery.com>
2612
2613 * decl.c (grokdeclarator): Diagnose undefined template contexts.
2614
5ee4cc26
NS
26152000-11-28 Nathan Sidwell <nathan@codesourcery.com>
2616
2617 * decl.c (grokdeclarator): Do type access control on friend
2618 class.
2619
76e57b45
NS
26202000-11-27 Nathan Sidwell <nathan@codesourcery.com>
2621
2622 * decl.c (grokfndecl): Undo COMPONENT_REF damage caused by
2623 bison parser ickiness.
2624 * pt.c (tsubst_friend_function): Enter namespace scope when
2625 tsubsting the function name.
2626 * cp-tree.h (DECL_TI_TEMPLATE): Update comment to reflect reality.
2627
f9825168
NS
26282000-11-27 Nathan Sidwell <nathan@codesourcery.com>
2629
2630 * cp-tree.h (binfo_from_vbase): Return the virtual base's binfo.
2631 * cvt.c (cp_convert_to_pointer): Add force parameter.
2632 Allow conversions via virtual base if forced.
2633 (convert_to_pointer_force): Adjust call to cp_convert_to_pointer.
2634 (ocp_convert): Likewise.
2635 * search.c (binfo_from_vbase): Return the virtual base's binfo.
2636 * typeck.c (get_delta_difference): Adjust handling of virtual
2637 bases.
2638
9ccb25d5
MM
26392000-11-26 Mark Mitchell <mark@codesourcery.com>
2640
2641 * tree.c (struct list_hash): Remove.
2642 (list_hash_table): Make it be an htab.
2643 (struct list_proxy): New type.
2644 (list_hash_eq): New function.
2645 (list_hash_pieces): Renamed from ...
2646 (list_hash): ... this.
2647 (list_hash_lookup): Remove.
2648 (list_hash_add): Remove.
2649 (hash_tree_cons): Use the generic hashtable.
2650 (mark_list_hash): Remove.
2651 (init_tree): Create the hashtable.
2652
9399bad3
JM
26532000-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
2654
2655 * method.c (build_mangled_C9x_name): Rename to
2656 build_mangled_C99_name. Change C9X references in comments to
2657 refer to C99.
2658
2f401cc8
NS
26592000-11-24 Nathan Sidwell <nathan@codesourcery.com>
2660
2661 * parse.y (unary_expr): Move VA_ARG from here ...
2662 (primary): ... to here.
2663
3d7e9ba4
NS
26642000-11-24 Nathan Sidwell <nathan@codesourcery.com>
2665
2666 * semantics.c (finish_id_expr): If type is error_mark, return
2667 error_mark.
2668
ab097535
NS
26692000-11-23 Nathan Sidwell <nathan@codesourcery.com>
2670
2671 * pt.c (lookup_template_class): Simplify loop exit constructs.
2672 Cope when there is no partial instantiation of a template
2673 template member.
2674
9196ece5
R
2675Thu Nov 23 02:16:47 2000 J"orn Rennecke <amylaar@redhat.com>
2676
2677 * Make-lang.in (g++spec.o, cxxmain.o): Depend on $(CONFIG_H).
2678
cac78ea2
MM
26792000-11-22 Mark Mitchell <mark@codesourcery.com>
2680
6e1b44bc
MM
2681 * mangle.c (mangle_conv_op_name_for_type): Don't use `__op'
2682 prefix.
2683
cac78ea2
MM
2684 * pt.c (do_decl_instantiate): Explicitly clone constructors and
2685 destructors that haven't already been cloned.
2686
3aac38d7
RH
26872000-11-20 Richard Henderson <rth@redhat.com>
2688
2689 * parse.y (yyparse_1): Rename the parser entry point.
2690
26912000-11-20 Alex Samuel <samuel@codesourcery.com>
beac9b93
AS
2692
2693 * mangle.c (write_name): Use <unscoped-name> for names directly in
2694 function scope.
2695 (write_unscoped_name): Accept names directly in function scope.
d363e7bf 2696
447306fa
NS
26972000-11-20 Nathan Sidwell <nathan@codesourcery.com>
2698
2699 * lex.c (rid_to_yy, RID_EXPORT): Make unique keyword.
2700 * parse.y (extdef): Add EXPORT reduction.
2701 * spew.c (yylex): Don't skip export here.
2702
2650255a
MM
27032000-11-19 Mark Mitchell <mark@codesourcery.com>
2704
2705 * decl.c (init_decl_processing): Correct name of pure virtual
2706 function under the new ABI.
2707 * rtti.c (throw_bad_cast): Likewise, for bad cast function.
2708 (throw_bad_typeid): Likewise for bad typeid function.
2709
0657c69c
MM
27102000-11-18 Mark Mitchell <mark@codesourcery.com>
2711
04f3dc2b
MM
2712 * decl.c (grokparms): Don't even function types of `void' type,
2713 either.
2714 * mangle.c (write_type): Don't crash when confronted with the
2715 error_mark_node.
2716
0657c69c
MM
2717 * decl.c (grokparms): Don't create parameters of `void' type.
2718
a8a05998
ZW
27192000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
2720
2721 * lex.c (mark_impl_file_chain): Delete.
2722 (init_parse): Remove call to ggc_add_string_root. No need to
2723 ggc_strdup a string constant. Do not add impl_file_chain to GC
2724 roots.
2725 (handle_pragma_implementation): No need to ggc_strdup main_filename.
2726
35728a80
NS
27272000-11-17 Nathan Sidwell <nathan@codesourcery.com>
2728
2729 * pt.c (tsubst_expr, DECL_STMT): Instantiate decl's type.
2730
5cce22b6
NS
27312000-11-17 Nathan Sidwell <nathan@codesourcery.com>
2732
2733 * cp-tree.h (PARMLIST_ELLIPSIS_P): New macro.
2734 * decl.c (grokdeclarator): Don't reject void parms here.
2735 (require_complete_types_for_parms): Simplify, use
2736 complete_type_or_else.
2737 (grokparms): Remove bitrot. Remove funcdef parm.
2738 Deal with ellipsis parm lists here.
2739 * semantics.c (finish_parmlist): Don't append void_list_node
2740 here. Set PARMLIST_ELLIPSIS_P.
2741
146c8d60
NS
27422000-11-17 Nathan Sidwell <nathan@codesourcery.com>
2743
2744 * typeck2.c (incomplete_type_error): Reorganise to avoid
2745 excessive diagnostics.
2746
520a57c8
ZW
27472000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
2748
2749 * lex.c (struct impl_files, internal_filename): Constify a char *.
2750
43048a06
MM
27512000-11-16 Mark Mitchell <mark@codesourcery.com>
2752
2753 * mangle.c (write_special_name_constructor): Don't generate
2754 assembler junk when confronted with an old-style constructor.
2755 (write_special_name_destructor): Likewise.
2756 (mangle_decl_string): Do it here instead.
2757
cdb71673
NS
27582000-11-16 Nathan Sidwell <nathan@codesourcery.com>
2759
2760 * call.c (op_error): Make error messages clearer.
2761
62136084
MM
27622000-11-15 Mark Mitchell <mark@codesourcery.com>
2763
2764 * decl.c (wrapup_globals_for_namespace): Don't mark things
2765 TREE_ASM_WRITTEN when they're not.
2766
ee3400e8
JM
27672000-11-15 Jason Merrill <jason@redhat.com>
2768
2769 * typeck2.c (friendly_abort): Uncount the error before handing
2770 off to fancy_abort.
2771
71631a1f
NS
27722000-11-15 Nathan Sidwell <nathan@codesourcery.com>
2773
2774 * typeck.c (lookup_anon_field): Cope with qv qualifiers.
2775
79cda2d1
MM
27762000-11-14 Mark Mitchell <mark@codesourcery.com>
2777
2778 * class.c (build_vtbl_initializer): Fix typo in comment.
2779 * typeck.c (expr_sizeof): Don't crash on errors.
2780
2567bc56
JW
27812000-11-14 Jim Wilson <wilson@redhat.com>
2782
2783 * lang-specs.h: Add %2 after %(cc1_options).
2784
8422942c
RH
27852000-11-14 Richard Henderson <rth@redhat.com>
2786
2787 * typeck.c (c_sizeof): Be strict about casting result value
2788 back to c_size_type_node.
2789 (expr_sizeof, c_sizeof_nowarn, c_alignof): Likewise.
2790
19552aa5
JM
27912000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2792
2793 * typeck.c (build_unary_op): Use boolean_increment from
2794 c-common.c, moving the relevant code there.
2795
d96a6d1a
JM
27962000-11-11 Jason Merrill <jason@redhat.com>
2797
2798 * typeck.c (mark_addressable): Don't call put_var_into_stack.
492cca24
JM
2799
2800 * decl.c (maybe_commonize_var): Set DECL_UNINLINABLE for statics
2801 in inlines.
2802
4e135bdd
KG
28032000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2804
2805 * decl.c (grokdeclarator, save_function_data): Use memcpy, not bcopy.
2806 * lex.c (copy_lang_decl): Likewise.
2807
0a7394bc
MM
28082000-11-09 Mark Mitchell <mark@codesourcery.com>
2809
13507bd8
MM
2810 * dump.c (cp_dump_tree): Don't dump function bodies here.
2811
0a7394bc
MM
2812 * Make-lang.in (CXX_C_OBJS): Add c-dump.o.
2813 (dump.o): Update dependency list.
2814 * cp-tree.h (DECL_MAYBE_TEMPLATE): Remove.
2815 (flag_dump_translation_unit): Likewise.
2816 (CP_TYPE_QUALS): Adjust definition.
2817 (DECL_C_BIT_FIELD): Remove.
2818 (SET_DECL_C_BIT_FIELD): Likewise.
2819 (CLEAR_DECL_C_BIT_FIELD): Likewise.
2820 (add_maybe_template): Likewise.
2821 (strip_array_types): Likewise.
2822 (dump_node_to_file): Likewise.
2823 (cp_dump_tree): New function.
2824 * decl.c (init_decl_processing): Set lang_dump_tree.
2825 * decl2.c (flag_dump_translation_unit): Remove.
2826 * dump.c: Move most of it to ../c-dump.c.
2827 (cp_dump_tree): New function.
2828 * pt.c (add_maybe_template): Remove.
2829 * typeck.c (strip_array_types): Likewise.
a8a05998 2830
5362b086
EC
28312000-11-07 Eric Christopher <echristo@redhat.com>
2832
492cca24
JM
2833 * decl.c (init_decl_processing): Change definition of
2834 __wchar_t to wchar_t. Remove artificial declaration of
2835 wchar_t.
2836 * lex.c: Change instances of __wchar_t to wchar_t.
5362b086 2837
5361cbb7
NS
28382000-11-09 Nathan Sidwell <nathan@codesourcery.com>
2839
2840 * lex.c (do_identifier): Don't lookup_name for operators.
2841 * parse.y (operator): Save looking_for_typename.
2842 (unoperator): Restore it.
2843 * spew.c (frob_opname): Use nth_token for lookahead.
2844
36791f1e
NS
28452000-11-08 Nathan Sidwell <nathan@codesourcery.com>
2846
2847 * decl.c (grok_op_properties): Always use coerce_new_type and
2848 coerce_delete_type.
2849 * decl2.c (coerce_new_type): Use c_size_type_node. Preserve
2850 exception specification. Tidy up.
2851 (coerce_delete_type): Preserve exception specification. Tidy up.
2852
961192e1
JM
28532000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
2854
2855 * class.c (duplicate_tag_error, build_vtbl_initializer), decl.c
2856 (push_binding_level), error.c (cp_tree_printer), pt.c
2857 (process_partial_specialization, tsubst_template_arg_vector),
2858 search.c (lookup_member): Use memset () instead of bzero ().
2859
d48ebde1
NS
28602000-11-07 Nathan Sidwell <nathan@codesourcery.com>
2861
2862 * decl.c (build_ptrmemfunc_type): Allow error_mark_node.
2863
436a88a6
JM
28642000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
2865
2866 * Make-lang.in (c++.distdir): Remove.
2867
7a4e5091
MM
28682000-11-04 Mark Mitchell <mark@codesourcery.com>
2869
2870 * decl2.c (do_nonmember_using_decl): Allow `extern "C"'
2871 declarations from different namespaces to be combined.
2872
0e9295cf
ZW
28732000-11-03 Zack Weinberg <zack@wolery.stanford.edu>
2874
2875 * decl.c: Include tm_p.h.
2876
da61dec9
JM
28772000-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
2878
2879 * tree.c (cp_tree_equal): Use memcmp () instead of bcmp ().
2880
9473c522
JM
28812000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
2882
2883 * dump.c (dequeue_and_dump), lex.c (interface_strcmp), method.c
2884 (build_overload_value), repo.c (open_repo_file), xref.c
2885 (open_xref_file): Use strchr () and strrchr () instead of index ()
2886 and rindex ().
2887
b0b3afb2
BS
28882000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
2889
2890 * call.c (build_over_call): Call fold on the CALL_EXPR.
2891
faafaee6
GDR
28922000-11-01 Gabriel Dos Reis <gdr@codesourcery.com>
2893
2894 * error.c (dump_template_decl): Separate template hearders with
2895 space not comma.
2896
761f0855
GDR
28972000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
2898
2899 * error.c: Move TFF_ macros into cp-tree.h. Throughout, replace
2900 TS_* flags with corresponding TFF_*. Adjust prototypes of
2901 functions (which used to take a tree_string_flags) to take an int.
2902
2903 * cp-tree.h (enum tree_string_flags): Remove
2904 (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE,
2905 TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPEDEF, TFF_DECL_SPECIFIERS,
2906 TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
2907 TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
2908 TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS,
2909 TFF_TEMPLATE_NAME, TFF_EXPR_IN_PARENS, TFF_SCOPE): New macros.
2910 (type_as_string, decl_as_string, expr_as_string,
2911 context_as_string): Adjust prototype.
2912
2913 * class.c (dump_class_hierarchy_r): Use TFF_PLAIN_IDENTIFIER
2914 instead of TS_PLAIN.
2915
2916 * pt.c (mangle_class_name_for_template): Use TFF_CHASE_TYPEDEF
2917 instead of TF_CHASE_TYPEDEFS. Use TFF_PLAIN_IDENTIFIER instead of
2918 plain `0'.
2919
ad50e811
MM
29202000-10-30 Mark Mitchell <mark@codesourcery.com>
2921
2922 * cp-tree.h (DECL_EXTERNAL_LINKAGE_P): New macro.
2923 (linkage_kind): New enumeration.
2924 (decl_linkage): New function.
2925 * decl2.c (comdat_linkage): Extend comment.
2926 * error.c (dump_function_decl): Print the arguments used to
2927 instantiate a template, even when not printing the type of the
2928 function.
2929 * pt.c (convert_nontype_argument): Use DECL_EXTERNAL_LINKAGE_P,
2930 not TREE_PUBLIC, to test for external linkage.
2931 * tree.c (decl_linkage): New function.
2932
930cd796
MM
29332000-10-28 Mark Mitchell <mark@codesourcery.com>
2934
2935 * pt.c (instantiate_decl): Always instantiate static data members
2936 initialized in-class.
2937
b8dad04b
ZW
29382000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
2939
2940 * Make-lang.in: Move all build rules here from Makefile.in,
2941 adapt to new context. Wrap all rules that change the current
2942 directory in parentheses. Expunge all references to $(P).
2943 When one command depends on another and they're run all at
2944 once, use && to separate them, not ;. Add OUTPUT_OPTION to
2945 all object-file generation rules. Delete obsolete variables.
2946
2947 * Makefile.in: Delete.
2948 * config-lang.in: Delete outputs= line.
2949
5f9cd837
GDR
29502000-10-26 Gabriel Dos Reis <gdr@codesourcery.com>
2951
2952 * error.c (dump_function_decl): Print no space between
2953 `ptr-operator' the `type-specifier' of the return type.
2954 (dump_type_prefix): Make sure we put space at the appropriate
5362b086 2955 place.
5f9cd837 2956
6c6ed0ef
JM
29572000-10-23 Jason Merrill <jason@redhat.com>
2958
2959 * call.c (equal_functions): Also call decls_match for extern "C" fns.
2960
29612000-10-22 Jason Merrill <jason@redhat.com>
2962
2963 * call.c (build_conditional_expr): Use ocp_convert to force
2964 rvalue conversion.
2965
e36308b0
MM
29662000-10-22 Mark Mitchell <mark@codesourcery.com>
2967
583ca5a0
MM
2968 * call.c (standard_conversion): Use RVALUE_CONVs for all
2969 expressions that satisfy lvalue_p, not just those that satisfy
2970 real_lvalue_p.
2971
f9808f81
MM
2972 * optimize.c (copy_body_r): Don't treat CALL_EXPRs specially.
2973
5362b086 2974 * typeck.c (c_sizeof): Return an expression of `size_t' type,
e36308b0
MM
2975 not one with TYPE_IS_SIZETYPE set.
2976 (dubious_conversion_warnings): Remove special-case code.
2977
3b9ae6f0
GK
29782000-10-21 Geoffrey Keating <geoffk@cygnus.com>
2979
7a0f14e5
GK
2980 * decl2.c (arg_assoc_type): Handle VECTOR_TYPE.
2981 * error.c (dump_type): Handle VECTOR_TYPE like POINTER_TYPE.
2982 (dump_type_prefix): Print vector-of-int as 'int vector'.
2983 (dump_type_suffix): Handle VECTOR_TYPE like POINTER_TYPE.
2984 * tree.c (walk_tree): Handle VECTOR_TYPE.
2985
3b9ae6f0 2986 * decl.c (init_decl_processing): Call MD_INIT_BUILTINS.
5362b086 2987
aca77bd1
JM
29882000-10-21 Jason Merrill <jason@redhat.com>
2989
2990 * parse.y (operator): Set got_object from got_scope.
2991 Set looking_for_typename.
2992 * decl.c (lookup_name_real): Clear val after setting from_obj.
2993 Reorganize diagnostic.
2994
ba523395
JM
29952000-10-20 Jason Merrill <jason@redhat.com>
2996
2997 * tree.c (walk_tree): Don't walk into default args.
2998
2999 * error.c (dump_expr): Use host_integerp.
3000
2e44948d
DE
30012000-10-20 David Edelsohn <edelsohn@gnu.org>
3002
3003 * typeck2.c (abstract_virtuals_error): Use "because" instead of
3004 "since" in error message.
3005
44475138
RK
3006Fri Oct 20 13:54:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3007
3008 * typeck.c (dubious_conversion_warning): Suppress if TYPE_IS_SIZETYPE.
3009
11306230
JO
30102000-10-20 Jeffrey Oldham <oldham@codesourcery.com>
3011
3012 * decl.c (revert_static_member_fn): Fixed typo.
3013
97ba1e3c
MM
30142000-10-19 Mark Mitchell <mark@codesourcery.com>
3015
c20118a8
MM
3016 * class.c (subobject_offset_fn): New type.
3017 (dfs_record_base_offsets): Remove.
3018 (record_base_offsets): Likewise.
3019 (dfs_search_base_offsets): Likewise.
3020 (record_subobject_offset): New function.
3021 (check_subobject_offset): Likewise.
3022 (walk_subobject_offsets): Likewise.
3023 (record_subobject_offsets): Likewise.
3024 (layout_conflict_p): Reimplement.
3025 (layout_nonempty_base_or_field): Correct handling of type
3026 conflicts during layout.
3027 (layout_empty_base): Likewise.
3028 (build_base_field): Adjust to handle new representation of empty
3029 base offset table.
3030 (build_base_fields): Likewise.
3031 (layout_virtual_bases): Likewise.
3032 (splay_tree_compare_integer_csts): New function.
3033 (layout_class_type): Use a splay_tree, rather than a varray, to
3034 represent the offsets of empty bases.
5362b086 3035
97ba1e3c
MM
3036 * cp-tree.h (DECL_ANTICIPATED): Don't require a FUNCTION_DECL.
3037 * decl.c (select_decl): Don't return declarations that are
3038 DECL_ANTICIPATED.
3039
6bcedb4e
MM
30402000-10-18 Mark Mitchell <mark@codesourcery.com>
3041
3042 * cp-tree.h (cp_tree_index): Add CPTI_FAKE_STD.
3043 (fake_std_node): New macro.
3044 * decl.c (in_std): Rename to ...
3045 (in_fake_std): ... this.
3046 (flag_no_builtin): Remove.
3047 (flag_no_nonansi_builtin): Likewise.
3048 (walk_namespaces_r): Use fake_std_node.
3049 (push_namespace): Use std_identifier.
3050 (pop_namespace): Use in_fake_std.
3051 (lookup_name_real): Use fake_std_node.
3052 (init_decl_processing): When -fhonor-std, create the `std'
3053 namespace. Don't create a dummy fake_std_node in that case.
3054 Adjust call to c_common_nodes_and_builtins. Use std_identifier.
3055 (builtin_function): Put builtins whose names don't begin
3056 with `_' in the std namespace.
3057 * decl2.c (flag_no_builtin): Remove.
3058 (flag_no_nonansi_builtin): Likewise.
3059 (set_decl_namespace): Use fake_std_node.
3060 (validate_nonmember_using_decl): Likewise.
3061 (do_using_directive): Likewise.
3062 (handle_class_head): Likewise.
3063 * dump.c (dequeue_and_dump): Likewise.
3064 * except.c (init_exception_processing): Use std_identifier.
3065 * init.c (build_member_call): Use fake_std_node.
3066 * rtti.c (init_rtti_processing): Use std_identifier.
5362b086 3067
67673f5c
MM
30682000-10-17 Mark Mitchell <mark@codesourcery.com>
3069
3070 * cp-tree.h (back_end_hook): Remove declaration.
3071 * decl2.c (back_end_hook): Remove definition.
3072
3073 * dump.c (dequeue_and_dump): Dump TREE_USED.
3074
8fef2e47
BL
3075Tue Oct 17 20:19:06 2000 Brad Lucier <lucier@math.purdue.edu>
3076
3077 * spew.c (snarf_defarg): Cast 2nd arg to obstack_blank to (int).
3078
652469d0
JM
30792000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
3080
3081 * decl.c (WINT_TYPE): Define.
3082 (init_decl_processing): Create types unsigned_ptrdiff_type_node,
3083 c_size_type_node, signed_size_type_node and wint_type_node.
3084
74ff4629
JM
30852000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
3086
3087 * decl2.c (warn_missing_format_attribute): New variable.
3088 (lang_decode_option): Decode -Wmissing-format-attribute.
3089
634790f4
MM
30902000-10-16 Mark Mitchell <mark@codesourcery.com>
3091
3092 * typeck.c (qualify_type): Remove.
3093 (composite_pointer_type): Fix handling of conversions to `cv void*'.
3094
bb12da9d
KG
30952000-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3096
3097 * Makefile.in (parse.c, parse.h): Fix think-o in last patch.
3098
4b945402
KG
30992000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3100
3101 * Makefile.in (parse.c, parse.h): Create atomically.
3102
1f8f4a0b
MM
31032000-10-12 Mark Mitchell <mark@codesourcery.com>
3104
3105 * class.c (current_obstack): Remove.
3106 * decl.c (ggc_p): Remove.
3107 (start_decl): Don't use decl_tree_cons.
3108 (grokdeclarator): Don't use build_decl_list.
3109 (start_function): Don't use decl_tree_cons.
3110 (finish_function): Don't mess with obstacks.
3111 * decl2.c (grok_x_components): Don't use build_decl_list.
3112 * lex.c (make_call_declarator): Don't call decl_tree_cons.
3113 (implicitly_declare_fn): Don't call build_decl_list.
3114 * parse.y (frob_specs): Don't call build_decl_list or
3115 decl_tree_cons.
3116 (expr_or_declarator_intern): Don't call decl_tree_cons.
3117 (primary): Don't call build_decl_list.
3118 (fcast_or_absdcl): Likewise.
3119 (typed_declspecs): Don't call decl_tree_cons.
3120 (reserved_declspecs): Don't call build_decl_list.
3121 (declmods): Likewise.
3122 (reserved_typespecquals): Likewise.
3123 (aggr): Likewise.
3124 (new_type_id): Likewise.
3125 (cv_qualifiers): Likewise.
3126 (after_type_declarator_intern): Likewise.
3127 (notype_declarator_intern): Likewise.
3128 (absdcl_intern): Likewise.
3129 (named_parm): Likewise.
3130 * pt.c (most_specialized_class): Likewise.
3131 * repo.c (temporary_obstack): Make it a structure, not a pointer.
3132 (init_repo): Initialize it.
3133 * search.c (current_obstack): Remove.
3134 * typeck2.c (add_exception_specifier): Don't call build_decl_list.
5362b086 3135
8dc54971
RH
31362000-10-09 Richard Henderson <rth@cygnus.com>
3137
3138 * Make-lang.in (CXX_EXTRA_HEADERS): Remove.
3139 (c++ language support bits for libgcc): Remove.
3140 (c++.clean): Remove cplib2.txt cleanup.
3141 * config-lang.in (headers, lib2funcs): Remove.
3142
3143 * exception.cc, new.cc, new1.cc, new2.cc: Remove files.
3144 * tinfo.cc, tinfo.h, tinfo2.cc, vec.cc: Remove files.
3145 * inc/cxxabi.h, inc/exception, inc/new: Remove files.
3146 * inc/new.h, inc/typeinfo: Remove files.
3147
b15ad712
JM
31482000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
3149
3150 * decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
3151 defined.
3152 (init_decl_processing): Initialize intmax_type_node and
3153 uintmax_type_node.
3154
156ce211
RH
31552000-10-06 Richard Henderson <rth@cygnus.com>
3156
3157 * cp-tree.h (struct cp_language_function): Remove x_result_rtx.
3158 (original_result_rtx): Remove.
3159 * decl.c (save_function_data): Don't clear x_result_rtx.
3160 (mark_lang_function): Don't mark it either.
3161 * expr.c (fixup_result_decl): Remove.
3162 * semantics.c (genrtl_named_return_value): Frob the return decl
3163 before calling emit_local_var.
3164 (genrtl_finish_function): Don't call fixup_result_decl.
3165 Always emit the jump to return_label.
3166
92777ce4
NS
31672000-10-06 Nathan Sidwell <nathan@codesourcery.com>
3168
3169 * pt.c (lookup_template_class): Set current access for enum.
3170 (tsubst_enum): Set file & line for enum decl.
5362b086 3171
92777ce4
NS
3172 * spew.c (yylex): Remove unused variable.
3173
63c16fc5
RH
31742000-10-05 Richard Henderson <rth@cygnus.com>
3175
3176 * semantics.c (genrtl_finish_function): Don't init or check
3177 can_reach_end; remove noreturn and return value checks.
3178
d1a458c4
TT
31792000-10-05 Tom Tromey <tromey@cygnus.com>
3180
3181 * init.c (build_java_class_ref): Use `build_static_name' with a
3182 suffix, not a prefix, to build the class object's name.
3183
509fc277
NS
31842000-10-05 Nathan Sidwell <nathan@codesourcery.com>
3185
3186 * cp-tree.h (access_kind): Fix comment typo.
3187 * decl2.c (grokfield): Fix diagnostic typo.
3188 * semantics.c (finish_template_type): Fix comment typo.
3189 (finish_qualified_object_call_expr): Likewise.
3190
ce2e5191
NS
31912000-10-05 Nathan Sidwell <nathan@codesourcery.com>
3192
3193 * pt.c (tsubst_expr, DECL_STMT case): Don't process if
5362b086 3194 tsubsting fails.
ce2e5191 3195
79cc5312
NS
31962000-10-05 Nathan Sidwell <nathan@codesourcery.com>
3197
3198 * spew.c (frob_id): New static function.
3199 (frob_opname): Use it.
3200 (yylex): Use it.
3201
f15b9af9
MM
32022000-10-01 Mark Mitchell <mark@codesourcery.com>
3203
3204 * decl.c (lang_mark_false_label_stack): Remove.
3205 * lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.
5362b086 3206
28e6b1c2
JM
32072000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
3208
3209 * gxxint.texi: Use @email for formatting email addresses.
3210
99885b3f
GDR
32112000-09-29 Gabriel Dos Reis <gdr@codesourcery.com>
3212
3213 * error.c: Remove direct obstack manipulation. Replace with
3214 output_buffer-based formatting. Adjust calls to removed macros.
3215 (obstack_chunk_alloc, obstack_chunk_free): Remove.
3216 (OB_INIT, OB_PUTC, OB_PUTC2, OB_PUTS, OB_PUTID, OB_PUTCP,
3217 OB_FINISH, OB_PUTI, OB_END_TEMPLATE): Likewise.
3218
c06aa51e
MM
32192000-09-24 Mark Mitchell <mark@codesourcery.com>
3220
3221 * ir.texi: Move to ../c-tree.texi.
3222
99fada40
JM
32232000-09-20 Jason Merrill <jason@redhat.com>
3224
3225 * decl2.c (get_guard): Check DECL_FUNCTION_SCOPE_P.
3226
bb20cc46
AJ
32272000-09-21 Andreas Jaeger <aj@suse.de>
3228
3229 * errfn.c: Move declaration of cp_printer and cp_printers to ...
3230 * cp-tree.h: ... here.
3231
3232 * error.c: Remove declaration of cp_printer.
3233
fab701da
MM
32342000-09-20 Mark Mitchell <mark@codesourcery.com>
3235
3236 * tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
3237
0370fea1
HPN
32382000-09-20 Hans-Peter Nilsson <hp@axis.com>
3239
3240 * except.c: Delete #if 0:d EXCEPTION_SECTION_ASM_OP-default and
3241 users.
3242
78c120b5
MM
32432000-09-18 Mark Mitchell <mark@codesourcery.com>
3244
3245 * decl.c (start_function): Robustify.
3246
3f80e6ac
KG
32472000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3248
3249 * cp-tree.h (check_function_format): Accept a `status' parameter.
bb20cc46 3250
3f80e6ac
KG
3251 * call.c, typeck.c: Updates calls to `check_function_format'.
3252
fc928afe
GK
32532000-09-17 Geoffrey Keating <geoffk@cygnus.com>
3254
3255 * decl2.c (handle_class_head): Always push some scope even
3256 in the error case.
3257
8f17b5c5
MM
32582000-09-16 Mark Mitchell <mark@codesourcery.com>
3259
3260 * cp-tree.h (struct cp_language_function): Remove
3261 x_scope_stmt_stack and name_declared.
3262 (current_scope_stmt_stack): Remove.
3263 (function_name_declared_p): New macro.
3264 (struct lang_decl_flags): Use c_lang_decl as a base class.
3265 (context): Remove.
3266 (struct lang_decl): Replace saved_tree with context.
3267 (DECL_FRIEND_CONTEXT): Adjust accordingly.
3268 (SET_DECL_FRIEND_CONTEXT): Likewise.
3269 (DECL_VIRTUAL_CONTEXT): Likewise.
3270 (DECL_SAVED_TREE): Remove.
3271 (C_DECLARED_LABEL_FLAG): Likewise.
3272 (cplus_expand_expr_stmt): Don't declare.
3273 (add_decl_stmt): Likewise.
3274 (add_scope_stmt): Likewise.
3275 * decl.c (mark_stmt_tree): Remove.
3276 (case_compare): Likewise.
3277 (finish_case_label): Use c_add_case_label.
3278 (init_decl_processing): Set more language-specific hooks.
3279 (build_enumerator): Fix typo in comment.
3280 (cplus_expand_expr_stmt): Remove.
3281 (mark_lang_function): Use mark_c_language_function.
3282 (lang_mark_tree): Use c_mark_lang_decl.
3283 * decl2.c: Change order of inclusion.
3284 * except.c: Likewise.
3285 * expr.c (cplus_expand_expr): Remove handling of STMT_EXPR. Fall
3286 back on c_expand_expr.
3287 * friend.c: Include expr.h.
3288 * init.c: Change order of inclusion.
3289 * Makefile.in: Update dependencies.
3290 * lex.h (free_lang_decl_chain): Remove.
3291 * optimize.c (maybe_clone_body): Use function_name_declared_p.
3292 * pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
3293 it doesn't exist.
3294 (instantiate_decl): Use function_name_declared_p.
3295 * semantics.c (lang_expand_expr_stmt): Remove.
3296 (set_current_function_name_declared): Likewise.
3297 (current_function_name_declared): Likewise.
3298 (begin_compound_stmt): Use function_name_declared_p.
3299 (add_decl_stmt): Remove.
3300 (setup_vtbl_ptr): Use function_name_declared_p.
3301 (add_scope_stmt): Remove.
3302 (current_scope_stmt_stack): New function.
3303 (cp_expand_stmt): Don't handle SCOPE_STMTs.
3304 (expand_body): Use function_name_declared_p.
3305 * tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
3306 * typeck.c: Change order of includes.
3307 (convert_sequence): Remove.
bb20cc46 3308
d9dbd9b1
JM
33092000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
3310
3311 * lex.c (reswords): Add _Complex.
3312
9985f210
RK
3313Thu Sep 14 12:10:45 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3314
3315 * Make-lang.in (cplib2.txt): Depend on cp/Makefile.
3316
f903ebb1
DA
33172000-09-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3318
3319 * init.c (begin_init_stmts): Don't use // comments.
3320
f2ae0c45
JM
33212000-09-12 Jason Merrill <jason@redhat.com>
3322
3323 * decl.c (maybe_deduce_size_from_array_init): Set do_default for
3324 all non-extern arrays.
3325
3326 * decl.c (grokdeclarator): Complain about 'friend T' for implicit
3327 typenames, too. Downgrade complaint to pedwarn.
3328 (xref_tag): Warn about surprising behavior of 'friend struct T'.
3329 * decl2.c (handle_class_head): Generate a TYPENAME_TYPE for
3330 'class This::Inherited'.
3331
71ad4a16
MM
33322000-09-12 Mark Mitchell <mark@codesourcery.com>
3333
3334 * decl.c (finish_case_label): Given the LABEL_DECL a
3335 DECL_CONTEXT.
3336
c3e76028
GDR
33372000-09-12 Gabriel Dos Reis <gdr@codesourcery.com>
3338
3339 * error.c (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE,
3340 TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPDEF,
3341 TFF_DECL_SPECIFIERS, TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
3342 TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
3343 TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS, TFF_SCOPE):
3344 New macros.
3345 (sorry_for_unsupported_tree, print_scope_operator,
3346 print_left_paren, print_right_paren, print_left_bracket,
3347 print_right_bracket, print_whitespace): Likewise.
3348 (aggr_variety): Rename to class_key_or_enum.
3349 (print_type): Rename to print_type_id.
3350 (print_type_specifier_seq, print_simple_type_specifier,
3351 print_elaborated_type_specifier,
3352 print_rest_of_abstract_declarator,
3353 print_parameter_declaration_clause, print_exception_specification,
3354 print_nested_name_specifier, print_template_id,
3355 typedef_original_name, print_template_argument_list_start,
3356 print_template_argument_list_end): New functions.
3357
eb50138b
GDR
33582000-09-11 Gabriel Dos Reis <gdr@codesourcery.com>
3359
a8a05998 3360 * ir.texi: Add more documentation.
eb50138b 3361
f444e36b
MM
33622000-09-11 Mark Mitchell <mark@codesourcery.com>
3363
3364 * cp-tree.h (struct saved_scope): Remove x_function_parms.
3365 (current_function_parms): Don't define.
3366 (struct cp_language_function): Remove parms_stored.
3367 (current_function_just_assigned_this): Don't define.
3368 (current_function_parms_stored): Likewise.
3369 (static_ctors): Declare.
3370 (static_dtors): Likewise.
3371 (SF_EXPAND): Don't define.
3372 (expand_start_early_try_stmts): Remove declaration.
3373 (store_parm_decls): Likewise.
3374 * decl.c (static_ctors): Don't declare.
3375 (static_dtors): Likewise.
3376 (struct binding_level): Remove this_block.
3377 (poplevel): Remove dead code.
3378 (set_block): Likewise.
3379 (mark_binding_level): Don't mark this_block.
3380 (mark_saved_scope): Don't mark x_function_parms.
3381 (init_decl_processing): Don't add current_function_parms as a GC
3382 root.
3383 (check_function_type): Change prototype.
3384 (start_function): Remove RTL-generation code.
3385 (expand_start_early_try_stmts): Remove.
3386 (store_parm_decls): Give it internal linkage. Remove
3387 RTL-generation code.
3388 (finish_function): Remove RTL-generation code.
3389 * decl2.c (static_ctors): Fix formatting.
3390 (static_dtors): Likewise.
3391 * method.c (use_thunk): Don't call store_parm_decls.
3392 (synthesize_method): Likewise.
3393 * optimize.c (maybe_clone_body): Likewise.
3394 * parse.y (fn.def2): Likewise.
3395 (.set_base_init): Likewise.
3396 (nodecls): Likewise.
3397 * pt.c (instantiate_decl): Likewise.
3398 * rtti.c (synthesize_tinfo_fn): Likewise.
3399 * semantics.c (genrtl_try_block): Simplify.
3400 (expand_body): Use genrtl_start_function and
3401 genrtl_finish_function.
3402 (genrtl_start_function): New function.
3403 (genrtl_finish_function): Likewise.
3404
181d2ba0
NS
34052000-09-11 Nathan Sidwell <nathan@codesourcery.com>
3406
3407 * error.c (cp_tree_printer, case 'P'): Append break.
3408
f2d71db6
NS
34092000-09-11 Nathan Sidwell <nathan@codesourcery.com>
3410
3411 * cp-tree.h (frob_opname): Declare.
3412 * parse.y (saved_scopes): New static variable.
3413 (cp_parse_init): Adjust.
3414 (do_id): If lastiddecl is NULL, do do_identifier.
3415 (operator): Save scope information.
aca77bd1 3416 (unoperator): New reduction. Restore scope information.
f2d71db6
NS
3417 (operator_name): Append unoperator. Call frob_opname.
3418 * spew.c (frob_opname): Define.
3419
d8ea8f28
ZW
34202000-09-10 Zack Weinberg <zack@wolery.cumb.org>
3421
3422 * decl.c, rtti.c: Include defaults.h if not already included.
3423 Don't define the *_TYPE_SIZE macros.
3424
56cb9733
MM
34252000-09-09 Mark Mitchell <mark@codesourcery.com>
3426
3427 * cp-tree.h (push_switch): Change prototype.
3428 (check_cp_case_value): Remove declaration.
3429 (decl_constant_value): Likewise.
3430 * decl.c (struct cp_switch): Add switch_stmt and cases.
3431 (case_compare): New function.
3432 (push_switch): Set switch_stmt. Initialize cases.
3433 (pop_switch): Clean up cases.
3434 (define_case_label): Rename to ...
3435 (finish_case_label): ... this. Do semantic analysis for case
3436 labels here.
3437 (start_function): Correct comment.
3438 * decl2.c (check_cp_case_value): Remove.
3439 * expr.c (do_case): Remove.
3440 * pt.c (tsubst_expr): Adjust call to finish_case_label.
3441 * semantics.c (genrtl_do_poplevel): Remove declaration.
3442 (RECHAIN_STMTS): Remove.
3443 (finish_break_stmt): Use build_break_stmt.
3444 (finish_continue_stmt): Use build_continue_stmt.
3445 (finish_switch_cond): Adjust condition here, rater than in
3446 c_expand_start_case.
3447 (finish_case_label): Remove.
3448 * typeck.c (c_expand_return): Remove.
3449 (c_expand_start_case): Likewise.
bb20cc46 3450
990a9693
GDR
34512000-09-07 Gabriel Dos Reis <gdr@codesourcery.com>
3452
3453 * ir.texi: Document type nodes.
3454
ae499cce
MM
34552000-09-06 Mark Mitchell <mark@codesourcery.com>
3456
54f7877c
MM
3457 * cp-tree.h (init_cp_semantics): Declare.
3458 (genrtl_try_block): Don't declare.
3459 (genrtl_handler): Likewise.
3460 (genrtl_catch_block): Likewise.
3461 (genrtl_ctor_stmt): Likewise.
3462 (genrtl_subobject): Likewise.
3463 (genrtl_do_poplevel): Likewise.
3464 (genrtl_named_return_value): Likewise.
3465 * lex.c (init_parse): Call init_cp_semantics.
3466 * semantics.c (genrtl_try_block): Give it internal linkage.
3467 (genrtl_handler): Likewise.
3468 (genrtl_catch_block): Likewise.
3469 (genrtl_ctor_stmt): Likewise.
3470 (genrtl_subobject): Likewise.
3471 (genrtl_do_poplevel): Likewise.
3472 (genrtl_named_return_value): Likewise.
3473 (lang_expand_stmt): Rename to ...
3474 (cp_expand_stmt): ... this. Only handle C++-specific nodes.
3475 (init_cp_semantics): Define.
3476
3a0d3e1e
MM
3477 * decl.c (initialize_local_var): Remove RTL-generating code.
3478 * semantics.c (genrtl_try_block): Fix formatting.
3479
ae499cce
MM
3480 Move statement-tree facilities from C++ to C front-end.
3481 * cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
3482 (void_zero_node): Remove.
3483 (stmt_tree): Likewise.
3484 (scope_chain): Adjust.
3485 (language_function): Rename to cp_language_function.
3486 (cp_function_chain): Adjust.
3487 (current_stmt_tree): Remove.
3488 (last_tree): Likewise.
3489 (last_expr_type): Likewise.
3490 (struct lang_decl): Adjust.
3491 (STMT_IS_FULL_EXPR_P): Remove.
3492 (add_tree): Remove.
3493 (begin_stmt_tree): Likewise.
3494 (finish_stmt_tree): Likewise.
3495 (walk_tree_fn): Likewise.
3496 (walk_stmt_tree): Likewise.
3497 * class.c (finish_struct): Replace use of add_tree with add_stmt.
3498 * decl.c (mark_stmt_tree): Adjust type.
3499 (init_decl_processing): Don't build void_zero_node.
3500 (initialize_local_var): Adjust usage of current_stmt_tree.
3501 (finish_enum): Use add_stmt, not add_tree.
3502 (save_function_data): Adjust use of language_function.
3503 (finish_constructor_body): Use add_stmt, not add_tree.
3504 (finish_destructor_body): Likewise.
3505 (push_cp_function_context): Adjust use of language_function.
3506 (pop_cp_function_context): Likewise.
3507 (mark_lang_function): Likewise.
3508 (mark_cp_function_context): Likewise.
3509 * init.c (build_aggr_init): Adjust use of current_stmt_tree.
3510 (build_vec_init): Likewise.
3511 * semantics.c (SET_LAST_STMT): Remove.
3512 (RECHAIN_STMTS): Don't use it.
3513 (stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
3514 (current_stmt_tree): Define.
3515 (add_tree): Remove.
3516 (finish_goto_stmt): Use add_stmt, not add_tree.
3517 (finish_expr_stmt): Likewise.
3518 (begin_if_stmt): Likewise.
3519 (finish_then_clause): Likewise.
3520 (begin_while_stmt): Likewise.
3521 (begin_do_stmt): Likewise.
3522 (finish_return_stmt): Likewise.
3523 (begin_for_stmt): Likewise.
3524 (finish_break_stmt): Likewise.
3525 (finish_continue_stmt): Likewise.
3526 (begin_switch_stmt): Likewise.
3527 (finish_case_label): Likewise.
3528 (begin_try_block): Likewise.
3529 (begin_function_try_block): Likewise.
3530 (begin_handler): Likewise.
3531 (begin_catch_block): Likewise.
3532 (begin_compound_stmt): Likewise.
3533 (begin_asm_stmt): Likewise.
3534 (finish_asm_stmt): Likewise.
3535 (finish_label_stmt): Likewise.
3536 (add_decl_stmt): Likewise.
3537 (finish_subobject): Likewise.
3538 (finish_decl_cleanup): Likewise.
3539 (finish_named_return_value): Likewise.
3540 (setup_vtbl_ptr): Likewise.
3541 (add_scope_stmt): Likewise.
3542 (finish_stmt_expr): Likewise.
3543 (prune_unused_decls): Remove.
3544 (begin_stmt_tree): Likewise.
3545 (finish_stmt_tree): Likewise.
3546 (prep_stmt): Adjust use of current_stmt_tree.
3547 (lang_expand_stmt): Likewise.
3548 * tree.c (statement_code_p): Remove.
3549 (cp_statement_code_p): New function.
3550 (walk_stmt_tree): Remove.
3551 (init_tree): Set lang_statement_code_p.
bb20cc46 3552
0e5921e8
ZW
35532000-09-06 Zack Weinberg <zack@wolery.cumb.org>
3554
3555 Integrated preprocessor.
3556
3557 * Make-lang.in, Makefile.in: Remove all references to input.c,
3558 gxx.gperf, and hash.h. Add ../c-lex.o to C_OBJS.
3559 * gxx.gperf, hash.h, input.c: Delete.
3560 * lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
3561 initialized properly.
3562
3563 * class.c (fixup_pending_inline): Take a tree, not a
3564 struct pending_inline *. All callers changed.
3565 (init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
3566 RID_PROTECTED entries in ridpointers[] array here.
3567 * decl.c (duplicate_decls): Do not refer to struct
3568 pending_inline.
3569 (record_builtin_type, init_decl_processing): Use RID_MAX not
3570 CP_RID_MAX.
3571 (grokdeclarator): Use C_IS_RESERVED_WORD.
3572 * decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
3573 cpplib.
3574 (grok_x_components): Do not inspect pending_inlines chain.
3575
3576 * cp-tree.h (struct lang_identifier): Add rid_code entry.
3577 (C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
3578 (flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
3579 (DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
3580 TIME_IDENTIFIER_FILEINFO): Kill.
3581 Update prototypes.
3582 * lex.h: Expunge cp_rid. Rewrite RIDBIT macros to use just a
3583 single 32-bit word.
3584 * parse.y: Call do_pending_inlines unconditionally.
3585 reinit_parse_for_method is now snarf_method. fn.defpen is no
3586 longer necessary. Remove unnecessary <itype> annotation on
3587 SCOPE. Do not refer to end_of_file or struct pending_inline.
3588 * semantics.c (begin_inline_definitions): Call
3589 do_pending_inlines unconditionally.
3590
3591 * lex.c: Remove all code now shared with C front end.
3592 Initialize cpplib properly if USE_CPPLIB. Put reserved words
3593 into the get_identifier table. Rewrite pragma handling to
3594 work with the registry. Move code to save tokens for later
3595 processing to spew.c.
3596
3597 * spew.c: Rewrite everything in terms of token streams instead
3598 of text. Move routines here from lex.c / input.c as
3599 appropriate. GC-mark trees hanging off the pending inlines
3600 chain.
3601
44835fdd
MM
36022000-09-06 Mark Mitchell <mark@codesourcery.com>
3603
3604 * NEWS: Mention that the named return value extension has been
3605 deprecated.
3606 * cp-tree.h (original_result_rtx): Define.
3607 (TREE_REFERENCE_EXPR): Remove.
3608 (DECL_VPARENT): Likewise.
3609 (pushdecl_nonclass_level): Likewise.
3610 (store_return_init): Likewise.
3611 (reinit_lang_specific): Likewise.
3612 (genrtl_named_return_value): Change prototype.
3613 * decl.c (original_result_rtx): Remove.
3614 (cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
3615 Do not generate RTL for local variables here.
3616 (store_return_init): Remove.
3617 * semantics.c (genrtl_named_return_value): Simplify. Fold in
3618 store_return_init.
3619 (finish_named_return_value): Adjust accordingly. Warn that this
3620 extension is deprecated.
3621 (lang_expand_stmt): Adjust call to genrtl_named_return_value.
3622
d7c4edd0
NS
36232000-09-06 Nathan Sidwell <nathan@codesourcery.com>
3624
3625 * pt.c (type_unification_real): Replace switch with if.
3626 (unify): Tsubst non-type parms before comparing.
3627
46e2747c
NS
36282000-09-06 Nathan Sidwell <nathan@codesourcery.com>
3629
3630 * error.c (dump_typename): New function, broken out of ...
3631 (dump_type): ... here. Use it.
3632 * typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
3633
c833d2be
NS
36342000-09-06 Nathan Sidwell <nathan@codesourcery.com>
3635
3636 * init.c (build_offset_ref): Deal with namespace scoped
3637 TEMPLATE_ID_EXPRs.
3638
b1ce3eb2
NS
36392000-09-06 Nathan Sidwell <nathan@codesourcery.com>
3640
3641 * class.c (resolve_address_of_overloaded_function): Add
3642 explanation message.
3643 * decl.c (define_case_label): Reformat explanation.
3644 * decl2.c (finish_static_data_member_decl): Likewise.
3645 (grokfield): Likewise.
3646 * friend.c (do_friend): Likewise.
3647
11f53b6a
ZW
36482000-09-05 Zack Weinberg <zack@wolery.cumb.org>
3649
3650 * tree.c (walk_tree): Expose tail recursion.
3651 (walk_stmt_tree): New function.
3652 * cp-tree.h: Prototype walk_stmt_tree.
3653 * semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
3654 the BLOCKs directly. If a BLOCK has no variables after
3655 pruning, discard it.
3656 (finish_stmt_tree): Use walk_stmt_tree. No need to save and
3657 restore the line number.
3658
ee94fce6
MM
36592000-09-05 Mark Mitchell <mark@codesourcery.com>
3660
3661 * Makefile.in (CXX_TREE_H): Add dependency on HTAB_H.
3662 (pt.o): Remove dependency on HTAB_H.
3663 * cp-tree.h: Include hashtab.h.
3664 (walk_tree): Change prototype.
3665 (walk_tree_without_duplicates): New function.
3666 * decl.c (check_default_argument): Use it.
3667 * optimize.c (remap_decl): Adjust calls to walk_tree.
3668 (copy_body): Likewise.
3669 (expand_calls_inline): Likewise.
3670 (calls_setjmp_p): Use walk_tree_without_duplicates.
3671 * pt.c: Don't include hashtab.h.
3672 (for_each_template_parm): Use walk_tree_without_duplicates.
3673 * semantics.c (finish-stmt_tree): Likewise.
3674 (expand_body): Likewise.
3675 * tree.c (walk_tree): Add additional parameter.
3676 (walk_tree_without_duplicates): New function.
3677 (count_trees): Use it.
3678 (verify_stmt_tree): Adjust call to walk_tree.
3679 (find_tree): Use walk_tree_without_duplicates.
3680 (no_linkage_check): Likewise.
3681 (break_out_target_exprs): Adjust call to walk_tree.
3682 (cp_unsave): Likewise.
3683
a1281f45
KL
36842000-09-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
3685
3686 * cp-tree.def (BOUND_TEMPLATE_TEMPLATE_PARM): New tree code.
3687 (TEMPLATE_TEMPLATE_PARM): Adjust comment.
3688 * cp-tree.h (TYPE_BINFO): Adjust comment.
3689 (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
3690 (TEMPLATE_TYPE_PARM_INDEX): Likewise.
3691 (IS_AGGR_TYPE): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
3692 (TYPE_TEMPLATE_INFO): Likewise.
3693 (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Likewise.
3694 * class.c (push_nested_class): Likewise.
3695 * decl.c (lookup_name_real): Likewise.
3696 (grokdeclarator): Likewise.
3697 (grok_op_properties): Likewise.
3698 (xref_tag): Likewise.
3699 (xref_basetypes): Likewise.
3700 * decl2.c (constructor_name_full): Likewise.
3701 (arg_assoc_template_arg): Add TEMPLATE_TEMPLATE_PARM case.
3702 (arg_assoc_type): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
3703 * error.c (dump_type): Split TEMPLATE_TEMPLATE_PARM case.
3704 (dump_type_prefix): Add BOUND_TEMPLATE_TEMPLATE_PARM.
3705 (dump_type_suffix): Likewise.
3706 * init.c (is_aggr_type): Use BOUND_TEMPLATE_TEMPLATE_PARM
3707 instead.
3708 (get_aggr_from_typedef): Likewise.
3709 * mangle.c (write_type): Split TEMPLATE_TEMPLATE_PARM case.
3710 (write_expression): Add BOUND_TEMPLATE_TEMPLATE_PARM.
3711 (write_template_parm): Likewise.
3712 (write_template_template_parm): Check tree code instead of
3713 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
0e5921e8 3714 * method.c (build_overload_nested_name): Add
a1281f45
KL
3715 BOUND_TEMPLATE_TEMPLATE_PARM.
3716 (process_overload_item): Split TEMPLATE_TEMPLATE_PARM case.
3717 * parse.y (bad_parm): Add BOUND_TEMPLATE_TEMPLATE_PARM.
3718 * pt.c (convert_template_argument): Check tree code instead of
3719 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
3720 (for_each_template_parm_r): Split TEMPLATE_TEMPLATE_PARM case.
3721 (for_each_template_parm): Adjust comment.
3722 (tsubst): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize.
3723 (tsubst_copy): Add BOUND_TEMPLATE_TEMPLATE_PARM.
3724 (unify): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize. Use
3725 template_args_equal to compare template template parameter cases.
3726 * ptree.c (print_lang_type): Add BOUND_TEMPLATE_TEMPLATE_PARM.
3727 * search.c (lookup_field_1): Use BOUND_TEMPLATE_TEMPLATE_PARM
3728 instead.
3729 * tree.c (copy_template_template_parm): Decide whether to create
3730 a TEMPLATE_TEMPLATE_PARM or BOUND_TEMPLATE_TEMPLATE_PARM node.
3731 (walk_tree): Add BOUND_TEMPLATE_TEMPLATE_PARM.
3732 (copy_tree_r): Likewise.
3733 * typeck.c (comptypes): Likewise. Check tree code instead of
3734 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
3735
c9672d45
ME
37362000-09-04 Mark Elbrecht <snowball3@bigfoot.com>
3737
3738 * decl.c (finish_function): Move the code for handling functions
3739 marked with the constructor and destructor attributes inside the
3740 expand_p block.
3741
67804825
NS
37422000-09-04 Nathan Sidwell <nathan@codesourcery.com>
3743
3744 * init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
3745
1bc0793e
NS
37462000-09-04 Nathan Sidwell <nathan@codesourcery.com>
3747
3748 * pt.c (lookup_template_class): Remove abort.
3749 * tree.c (get_type_decl): Allow error_mark_node.
3750
3338663b
NS
37512000-09-04 Nathan Sidwell <nathan@codesourcery.com>
3752
3753 * decl2.c (arg_assoc): Deal with COMPONENT_REFs inside
3754 TEMPLATE_ID_EXPRs.
3755
1b84dc37
MM
37562000-09-03 Mark Mitchell <mark@codesourcery.com>
3757
3758 * operators.def (ALIGNOF_EXPR, MAX_EXPR, MIN_EXPR): Change
c9672d45 3759 new ABI mangling.
1b84dc37 3760
9687f8f4
NS
37612000-09-01 Nathan Sidwell <nathan@codesourcery.com>
3762
3763 * parse.y (named_class_head): Check for TYPENAME_TYPE. Simplify
c9672d45 3764 union tag mismatch error reporting.
9687f8f4 3765
4f8025eb
NS
37662000-09-01 Nathan Sidwell <nathan@codesourcery.com>
3767
c9672d45 3768 * call.c (build_scoped_method_call): Check it is not a namespace.
4f8025eb 3769
495d26d6
JM
37702000-08-30 Jason Merrill <jason@redhat.com>
3771
3772 * cp-tree.h (LOCAL_CLASS_P): Use decl_function_context.
3773
3774 * tree.c (bot_manip): Check TREE_CONSTANT rather than
3775 !TREE_SIDE_EFFECTS. Call break_out_target_exprs and
3776 build_target_expr_with_type for the non-AGGR_INIT_EXPR case.
3777
3778 * decl.c (start_function): Always call make_function_rtl.
3779
7efcf466
ZW
37802000-08-29 Zack Weinberg <zack@wolery.cumb.org>
3781
495d26d6 3782 * semantics.c (prune_unused_decls): New function.
7efcf466
ZW
3783 (finish_stmt_tree): Call it via walk_tree.
3784
63ad61ed
ZW
37852000-08-29 Zack Weinberg <zack@wolery.cumb.org>
3786
3787 * class.c (build_secondary_vtable): Constify a char *.
3788 * decl.c (init_decl_processing): Initialize function_id_node,
3789 pretty_function_id_node, and func_id_node.
3790 * input.c (struct input_source): Constify 'str'.
3791 (feed_input): Constify first argument.
3792 * mangle.c (write_identifier): Constify argument.
3793 * pt.c (mangle_class_name_for_template): Constify argument.
3794
4361b41d
MM
37952000-08-29 Mark Mitchell <mark@codesourcery.com>
3796
3797 * typeck.c (mark_addressable): Remove code that pokes around in
3798 RTL.
3799
881c6935
JM
38002000-08-28 Jason Merrill <jason@redhat.com>
3801
3802 * lex.c (file_name_nondirectory): Move to toplev.c.
3803
3804 * cp-tree.h (LOCAL_CLASS_P): New macro.
3805 * class.c (finish_struct_1): Use it.
3806
f0f33848
AS
38072000-08-27 Alex Samuel <samuel@codesourcery.com>
3808
3809 * mangle.c (CLASSTYPE_TEMPLATE_ID_P): Remove unexplained voodoo.
3810 (write_encoding): Pass another argument to write_name.
3811 (write_name): Add ignore_local_scope parameter. Fix handling of
3812 local names.
3813 (write_nested_name): Use write_unqualified_name.
3814 (write_prefix): Likewise. Skip out on FUNCTION_DECLs.
3815 (write_template_prefix): Use write_unqualified_name.
3816 (write_component): Remove.
3817 (write_local_name): Add parameter. Use direct local entity to
3818 discriminator calculation.
0e5921e8 3819 (write_class_enum_type): Pass another argument to write_name.
f0f33848
AS
3820 (write_template_template_arg): Likewise.
3821 (make_guard_variable): Likewise.
0e5921e8 3822
94dfccd1
JM
38232000-08-27 Jason Merrill <jason@redhat.com>
3824
3825 * decl.c (pushdecl): Matching decls for local externs are found in
3826 the current level. Propagate linkage information from previous
3827 declarations.
3828
14fdf4b6
GDR
38292000-08-26 Gabriel Dos Reis <gdr@codesourcery.com>
3830
3831 * ir.texi (Expressions): Fix typo.
3832
b5232c64
GM
38332000-08-25 Greg McGary <greg@mcgary.org>
3834
3835 * tree.c (init_tree): Use ARRAY_SIZE.
3836
22a4158c
GDR
38372000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
3838
3839 * error.c (cp_tree_printer): Rework.
3840
f22967f3
MM
38412000-08-25 Mark Mitchell <mark@codesourcery.com>
3842
a0c182fe
MM
3843 * Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and
3844 dyn-string.o.
3845 (CXX_LIB2SRCS): Remove cp-demangle.c and dyn-string.c.
3846 (cp-demangle.o): Remove target.
3847 (dyn-string.o): Likewise.
3848
f22967f3
MM
3849 * decl.c (grokfndecl): Require that `main' return an `int'.
3850 * mangle.c (write_encoding): Don't mangle return types for
3851 conversion functions.
3852
a1066c99
GDR
38532000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
3854
3855 * error.c (tree_formatting_info): New data type.
3856 (tree_being_formatted): New macro.
3857 (tree_formatting_flags): Likewise.
3858 (put_whitespace): Likewise.
3859 (print_tree_identifier): Likewise.
3860 (print_identifier): Likewise.
3861 (cp_tree_printer, print_function_argument_list, print_declaration,
3862 print_expression, print_function_declaration,
3863 print_function_parameter, print_type, print_cv_qualifier): New
0e5921e8 3864 functions.
a1066c99
GDR
3865 (init_error): Initialize lang_printer.
3866
3f2b640a
JM
38672000-08-24 Jason Merrill <jason@redhat.com>
3868
3869 * typeck.c (build_ptrmemfunc): Just reinterpret if there's no
3870 adjustment necessary.
3871
7ec09bf7
GM
38722000-08-24 Greg McGary <greg@mcgary.org>
3873
3874 * cp-tree.h (MAIN_NAME_P): Remove macro.
3875
2ab99c46
GDR
38762000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
3877
3878 * error.c (print_instantiation_context): Don't forget to flush the
3879 buffer.
3880
7def1251
JM
38812000-08-23 Jason Merrill <jason@redhat.com>
3882
3883 * typeck.c (build_ptrmemfunc): Save the input pmf.
3884
3885 * method.c (process_modifiers): Use same_type_p.
3886
94350948
MM
38872000-08-23 Mark Mitchell <mark@codesourcery.com>
3888
3889 * cp-tree.h (DECL_CLONED_FUNCTION_P): Check DECL_LANG_SPECIFIC.
3890 * mangle.c (write_function_type): Change prototype.
3891 (write_encoding): Don't mangle return types for
3892 constructors or destructors.
3893 (write_type): Adjust call to write_function_type.
3894 * pt.c (instantiate_template): Instantiate alternate entry points
3895 when instantiating the main function.
0e5921e8 3896
a64e7329
GDR
38972000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
3898
3899 * error.c (cp_print_error_function): Don't use embedded '\n' in
0e5921e8 3900 output_printf.
a64e7329 3901
a72462a4
GDR
39022000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
3903
3904 * decl.c (init_decl_processing): Remove bogus initialization.
3905 * error.c (lang_print_error_function): Restore here.
0e5921e8
ZW
3906 (init_error): Initialize print_error_function.
3907
3add6264
TP
39082000-08-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
3909
3910 * decl2.c (arg_assoc): Revert my 2000-08-11 change.
3911
cb753e49
GDR
39122000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
3913
3914 * Makefile.in (error.o): Depends on diagnostic.h
3915
3916 * cp-tree.h (problematic_instantiation_changed,
3917 record_last_problematic_instantiation, current_instantiation,
3918 print_instantiation_context): Declare.
3919 (maybe_print_template_context): Remove.
3920
3921 * decl.c (init_decl_processing): Set print_error_function to NULL.
3922 (lang_print_error_function): Remove, since we're using a new
3923 machinery.
3924
3925 * error.c: #include diagnostic.h
3926 (function_category): New function.
3927 (cp_diagnostic_starter): Likewise.
3928 (cp_diagnostic_finalizer): Likewise.
3929 (cp_print_error_function): Likewise.
3930 (maybe_print_instantiation_context): Likewise.
3931 (print_instantiation_full_context): Likewise.
3932 (print_instantiation_partial_context): Likewise.
3933 (print_instantiation_context): Define.
3934 (init_error): Initialize diagnostic pager and finalizer.
3935
3936 * pt.c (problematic_instantiation_changed): Define.
3937 (record_last_problematic_instantiation): Likewise.
3938 (current_instantiation): Likewise.
3939 (maybe_print_template_context): Remove.
3940 (print_template_context): Likewise.
3941 (current_tinst_level): Make static to reflect Brendan Kehoe's
3942 change of 1995-04-13.
0e5921e8
ZW
3943 (push_tinst_level): Call print_instantiation_context.
3944
05a3d06e 39452000-08-21 Nix <nix@esperi.demon.co.uk>
0e5921e8 3946
05a3d06e
N
3947 * lang-specs.h: Do not process -o or run the assembler if
3948 -fsyntax-only.
3949
93e2382f
JM
39502000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
3951
3952 * decl.c (flag_hosted, flag_noniso_default_format_attributes): New
3953 variables.
3954 * decl2.c (lang_decode_option): Disable gettext attributes for
3955 -ansi.
3956
24805e80
GDR
39572000-08-21 Gabriel Dos Reis <gdr@codesourcery.com>
3958
3959 * lex.c (lang_init_options): Default diagnostic message maximum
3960 length to 80, when line-wrapping.
3961
b485e15b
MM
39622000-08-20 Mark Mitchell <mark@codesourcery.com>
3963
3964 * class.c (build_vtbl_initializer): Clear the entire
3965 vtbl_init_data. Start keeping track of the functions for which we
3966 have created vcall offsets here.
3967 (dfs_build_vcall_offset_vtbl_entries): Remove.
3968 (build_vcall_offset_vtbl_entries): Reimplement.
3969 (add_vcall_offset_vtbl_entries_r): New function.
3970 (add_vcall_offset_vtbl_entries_1): Likewise. Tweak logic for
3971 computing when vcall offsets are necessary.
3972
2ae7bada
NS
39732000-08-18 Nathan Sidwell <nathan@codesourcery.com>
3974
3975 * decl.c (member_function_or_else): Use cp_error ... %T.
3976 (grokdeclarator): Likewise.
3977 (start_method): Likewise.
0e5921e8 3978 * friend.c (make_friend_class): Use cp_pedwarn ... %T.
2ae7bada 3979
7a8b1375
NS
39802000-08-18 Nathan Sidwell <nathan@codesourcery.com>
3981
3982 * decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class
0e5921e8 3983 TYPE_DECLs.
7a8b1375 3984
19420d00
NS
39852000-08-18 Nathan Sidwell <nathan@codesourcery.com>
3986
3987 * cp-tree.h (PTRMEM_OK_P): New macro.
3988 (itf_ptrmem_ok): New enumeration value.
3989 * class.c (resolve_address_of_overloaded_function): Add PTRMEM
3990 argument. Diagnose implicit pointer to member.
3991 (instantiate_type): Don't diagnose implicit pointer to member
3992 here. Pass itf_ptrmem_ok if ok. Adjust calls to
3993 resolve_address_of_overloaded_function.
3994 * init.c (build_offset_ref): Set PTRMEM_OK_P.
3995 (resolve_offset_ref): Don't diagnose implicit pointer to member here.
3996 * semantics.c (finish_parenthesized_expr): Clear OFFSET_REFs here.
3997 * typeck.c (build_x_unary_op): Calculate PTRMEM_OK_P.
3998 (build_unary_op): Deal with single non-static member in
3999 microsoft-land.
4000
66081283
NS
40012000-08-18 Nathan Sidwell <nathan@codesourcery.com>
4002
4003 * decl2.c (arg_assoc_type): Cope with TYPENAME_TYPE.
4004
fa40aa12
NS
40052000-08-18 Nathan Sidwell <nathan@codesourcery.com>
4006
4007 * cp-tree.h (enum_name_string): Remove prototype.
4008 (report_case_error): Remove prototype.
4009 * cp/typeck2.c (enum_name_string): Remove.
4010 (report_case_error): Remove.
4011 * error.c (dump_expr): Deal with enum values directly.
4012 Correctly negate integer constant.
4013
d13b34e9
NS
40142000-08-17 Nathan Sidwell <nathan@codesourcery.com>
4015
4016 * inc/cxxabi.h (__cxa_vec_new2, __cxa_vec_new3): Declare.
4017 (__cxa_vec_delete2, __cxa_vec_delete3): Declare.
4018 * vec.cc (__cxa_vec_new2, __cxa_vec_new3): Implement.
4019 (__cxa_vec_delete2, __cxa_vec_delete3): Implement.
4020 (__cxa_vec_new): Use __cxa_vec_new2.
4021 (__cxa_vec_delete): Use __cxa_vec_delete2.
4022
2f1b80af
NS
40232000-08-17 Nathan Sidwell <nathan@codesourcery.com>
4024
4025 * vec.cc (__cxa_vec_new): Set "C" linkage.
4026 (__cxa_vec_ctor): Likewise.
4027 (__cxa_vec_cctor): Likewise.
4028 (__cxa_vec_dtor): Likewise.
4029 (__cxa_vec_delete): Likewise.
4030 * inc/cxxabi.h (__cxa_vec_new): Set "C" linkage.
4031 (__cxa_vec_ctor): Likewise.
4032 (__cxa_vec_cctor): Likewise.
4033 (__cxa_vec_dtor): Likewise.
4034 (__cxa_vec_delete): Likewise.
4035
105d8e1f
NS
40362000-08-17 Nathan Sidwell <nathan@codesourcery.com>
4037
4038 * class.c (instantiate_type): Reinstate local variable
4039 deleted in previous change.
0e5921e8 4040
f1819d9a
NS
4041 * cvt.c (cp_convert_to_pointer): Pass itf_complain, not
4042 itf_no_attributes.
105d8e1f 4043
5e76004e
NS
40442000-08-17 Nathan Sidwell <nathan@codesourcery.com>
4045
4046 * cp-tree.h (instantiate_type_flags): New enumeration.
4047 (instantiate_type): Change parameter.
4048 * class.c (instantiate_type): Adjust prototype. Adjust.
4049 * call.c (standard_conversion): Adjust instantiate_type call.
4050 (reference_binding): Likewise.
4051 (build_op_delete_call): Likewise.
4052 (convert_like_real): Likewise.
4053 * cvt.c (cp_convert_to_pointer): Likewise.
4054 (convert_to_reference): Likewise.
4055 * pt.c (convert_nontype_argument): Likewise.
4056 * typeck.c (build_binary_op): Likewise.
4057 (build_ptrmemfunc): Likewise.
4058 (convert_for_assignment): Likewise.
4059
4b054b80
NS
40602000-08-17 Nathan Sidwell <nathan@codesourcery.com>
4061
4062 * cp-tree.h (CPTR_AGGR_TAG): New global tree node.
4063 (current_aggr): Define.
4064 * decl.c (grokdeclarator): Make sure a friend class is an
4065 elaborated type specifier.
4066 * parse.y (current_aggr): Remove static definition.
4067 (cp_parse_init): Adjust.
4068 (structsp): Clear and restore current_aggr.
4069 (component_decl_list): Clear current_aggr.
0e5921e8 4070
4b054b80
NS
4071 * error.c (dump_type, case TYPENAME_TYPE): Don't emit the
4072 aggregate tag on the typename's context.
0e5921e8 4073
321cba97
NS
4074 * pt.c (tsubst_friend_class): Return error_mark_node, if
4075 parms becomes NULL.
4076 (instantiate_class_template): Ignore error_mark_node friend types.
4b054b80 4077
08aead78
NS
40782000-08-14 Nathan Sidwell <nathan@codesourcery.com>
4079
4080 * cvt.c (warn_ref_binding): New static function, broken out of ...
0e5921e8 4081 (convert_to_reference): ... here. Use it.
08aead78 4082
fa1f3ebc
KL
40832000-08-11 Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
4084
4085 * parse.y (template_arg): Add rule for template qualified with
4086 global scope.
4087
9845b52b
TP
40882000-08-11 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
4089
4090 * decl2.c (add_function): Reorganize.
4091 (arg_assoc): Do not consider function template decls.
4092
e69c8072
JM
40932000-08-11 Jason Merrill <jason@redhat.com>
4094
4095 * decl.c (lookup_name_real): Don't forget the TYPENAME_TYPE we're
4096 looking inside.
4097
5c1e5476
NS
40982000-08-11 Nathan Sidwell <nathan@codesourcery.com>
4099
4100 * cp-tree.h (resolve_scope_to_name): Remove unused prototype.
4101 (lookup_nested_tag): Likewise.
0e5921e8 4102
5c1e5476
NS
4103 * decl2.c (grokfield): Fix comment to reflect many types of _DECLs
4104 can be produced.
4105
5426aa7f
NS
41062000-08-11 Nathan Sidwell <nathan@codesourcery.com>
4107
4108 * parse.y (named_complex_class_head_sans_basetype): Remove
4109 always true if.
4110
fd037e0d
NS
41112000-08-11 Nathan Sidwell <nathan@codesourcery.com>
4112
4113 * decl2.c (build_expr_from_tree, case METHOD_CALL_EXPR): Build
4114 explicit TEMPLATE_ID_EXPR args.
4115 (build_expr_from_tree, case CALL_EXPR): Likewise.
4116
73ae5c34
NS
41172000-08-11 Nathan Sidwell <nathan@codesourcery.com>
4118
4119 * decl.c (check_tag_decl): Diagnose typename's which don't
4120 declare anything.
4121
aa54df09
NS
41222000-08-10 Nathan Sidwell <nathan@codesourcery.com>
4123
4124 * init.c (build_aggr_init): Reject bogus array initializers
4125 early.
4126
7e8dad18
NS
41272000-08-09 Nathan Sidwell <nathan@codesourcery.com>
4128
4129 * rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
4130 runtime.
4131 * cp/tinfo.cc (__dynamic_cast): Likewise.
0e5921e8 4132 * cp/inc/cxxabi.h (__dynamic_cast): Likewise.
7e8dad18 4133
0f586b9b
NS
41342000-08-09 Nathan Sidwell <nathan@codesourcery.com>
4135
4136 * cvt.c (convert_to_pointer_force): Fix error message when
0e5921e8 4137 attempting to cast from ambiguous base.
0f586b9b 4138
08e72a19
JM
41392000-08-08 Jason Merrill <jason@redhat.com>
4140
4141 * pt.c (tsubst_aggr_type): Bail if creating the argvec fails.
4142 (tsubst_template_arg_vector): Likewise.
4143
4144 * decl2.c (build_anon_union_vars): Choose the largest field; don't
4145 assume that one will be as large as the union.
4146
0811ea8f
KH
41472000-08-07 Kazu Hirata <kazu@hxi.com>
4148
4149 * cp-tree.h (CLASSTYPE_HAS_PRIMARY_BASE_P): Fix a comment typo.
4150 * decl.c (pop_labels): Likewise.
4151
f9fcf62b
JO
41522000-08-04 Jeffrey Oldham <oldham@codesourcery.com>
4153
4154 * inc/cxxabi.h (__pbase_type_info): Changed member names to match
4155 specifications.
4156 (__pointer_to_member_type_info): Likewise.
4157 (__base_class_info): Likewise.
4158 (__class_type_info): Likewise.
4159 (__si_class_type_info): Likewise.
4160 (__vmi_class_type_info): Likewise.
4161 * tinfo.cc (__si_class_type_info::__do_find_public_src):
4162 Changed member names to match specifications.
4163 (__vmi_class_type_info::__do_find_public_src): Likewise.
4164 (__si_class_type_info::__do_dyncast): Likewise.
4165 (__vmi_class_type_info::__do_dyncast): Likewise.
4166 (__si_class_type_info::__do_upcast): Likewise.
4167 (__vmi_class_type_info::__do_upcast): Likewise.
4168 * tinfo2.cc (__pbase_type_info::__do_catch): Likewise.
4169 (__pbase_type_info::__pointer_catch): Likewise.
4170 (__pointer_type_info::__pointer_catch): Likewise.
4171 (__pointer_to_member_type_info::__pointer_catch): Likewise.
4172
a36556a8
ZW
41732000-08-04 Zack Weinberg <zack@wolery.cumb.org>
4174
0e5921e8
ZW
4175 * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
4176 * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
4177 (cc1plus): Link with $(BACKEND) and $(C_OBJS).
a36556a8 4178
452a394b
MM
41792000-08-04 Mark Mitchell <mark@codesourcery.com>
4180
4181 * cp-tree.h (add_method): Change prototype.
4182 * class.c (add_method): Remove FIELDS parameter. Add ERROR_P.
4183 Don't double the size of the method vector in the error case.
4184 (handle_using_decl): Adjust call to add_method.
4185 (add_implicitly_declared_members): Likewise.
4186 (clone_function_decl): Likewise.
4187 * decl2.c (check_classfn): Likewise.
4188 * semantics.c (finish_member_declaration): Likewise.
0e5921e8 4189
b8458e3e
JM
41902000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
4191
4192 * decl.c (flag_isoc94): New variable.
4193
a1bcc528
JM
41942000-08-02 Jason Merrill <jason@redhat.com>
4195
4196 * pt.c (do_type_instantiation): Add complain parm; don't complain
4197 if called recursively.
4198 * cp-tree.h, parse.y: Adjust.
4199
50e60bc3
ZW
42002000-08-02 Zack Weinberg <zack@wolery.cumb.org>
4201
eae51189
ZW
4202 * decl2.c: Silently ignore -Wstrict-prototypes; warn about
4203 -Wno-strict-prototypes.
4204
37620334
ZW
4205 * g++spec.c: Adjust type of second argument to
4206 lang_specific_driver, and update code as necessary.
4207
50e60bc3
ZW
4208 * cp-tree.h: Don't prototype min_precision here.
4209 (my_friendly_assert): Cast expression to void.
4210 * semantics.c (do_poplevel): Initialize scope_stmts.
4211
3f954fc3
MM
42122000-08-02 Mark Mitchell <mark@codesourcery.com>
4213
4214 * cp-tree.h (DECL_NEEDED_P): Tweak.
4215
ab4fa7ed
JM
42162000-07-28 Jason Merrill <jason@redhat.com>
4217
4218 * lang-specs.h: Use %i in rule for .ii files.
4219
4871239e
ZW
42202000-07-31 Zack Weinberg <zack@wolery.cumb.org>
4221
4222 * lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
4223
911a71a7
MM
42242000-07-30 Mark Mitchell <mark@codesourcery.com>
4225
4226 Allow indirect primary bases.
4227 * cp-tree.h (struct lang_type): Remove vfield_parent. Add
4228 primary_base.
4229 (CLASSTYPE_VFIELD_PARENT): Remove.
4230 (CLASSTYPE_PRIMARY_BINFO): Reimplement.
4231 (BINFO_PRIMARY_BINFO): Remove.
4232 (CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement.
4233 (BINFO_VBASE_PRIMARY_P): Likewise.
4234 (BINFO_PRIMARY_BASE_OF): New macro.
4235 (BINFO_INDIRECT_PRIMARY_P): Likewise.
4236 (get_primary_binfo): New function.
4237 * decl.c (lang_mark_tree): Make lang_type::primary_base.
4238 * class.c (vcall_offset_data_s): Rename to ...
4239 (vtbl_init_data_s): ... this. Rename primary_p to primary_vtbl_p,
4240 and add ctor_vtbl_p.
4241 (get_derived_offset): Use get_primary_binfo.
4242 (dfs_mark_primary_bases): Adjust handling of virtual primary
4243 bases.
4244 (mark_primary_bases): Likewise.
4245 (set_primary_base): Take a binfo, not an integer, as a
4246 representation of the primary base.
4247 (indirect_primary_base_p): Remove.
4248 (determine_primary_base): Adjust for indirect primary bases.
4249 (dfs_find_final_overrider): Fix typo in coment.
4250 (update_vtable_entry_for_fn): Use get_primary_binfo.
4251 (layout_nonempty_base_or_field): Tweak.
4252 (build_base_fields): Adjust for new primary base semantics.
4253 (dfs_propagate_binfo_offsets): Remove.
4254 (propagate_binfo_offsets): Rewrite.
4255 (dfs_set_offset_for_shared_vbases): Remove.
4256 (layout_virtual_bases): Don't use it.
4257 (layout_class_type): Set CLASSTYPE_SIZE correctly under the new
4258 ABI.
4259 (finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not
4260 CLASSTYPE_VFIELD_PARENT.
4261 (dfs_get_primary_binfo): New function.
4262 (get_primary_binfo): Likewise.
4263 (dump_class_hierarchy_r): Tweak printing of primary bases.
4264 (build_vtbl_initializer): Fix typo in comments. Use
4265 vtbl_init_data.
4266 (build_vcall_and_vbase_vtbl_entries): Likewise.
4267 (build_vbaes_offset_vtbl_entries): Likewise.
4268 (dfs_build_vcall_offset_vtbl_entries): Adjust setting of
4269 BV_VCALL_INDEX to handle indirect primary bases.
4270 (build_vcall_offset_vtbl_entries): Use vtbl_init_data.
4271 (build_rtti_vtbl_entries): Likewise.
4272 * search.c (get_shared_vbase_if_not_primary): Tweak.
4273 (find_vbase_instance): Likewise.
4274 (binfo_for_vtable): Simplify.
4275 * tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
4276 (make_binfo): Make it have 11 entries.
0e5921e8 4277
722bed0f
AS
42782000-07-30 Alex Samuel <samuel@codesourcery.com>
4279
4280 * mangle.c (DECL_TEMPLATE_ID_P): Remove.
4281 (CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when
4282 ascertaining primaryness.
4283 (G): Remove template_args.
4284 (decl_is_template_id): New function.
4285 (write_encoding): Use decl_is_template_id.
4286 (write_name): Likewise. Handle type_decls. Get main variant of
4287 type decls.
4288 (write_nested_name): Likewise.
4289 (write_prefix): Likewise.
4290 (write_template_prefix): Likewise.
4291 (write_special_name_constructor): Remove defunct production from
4292 comment.
4293 (write_bare_function_type): Remove comment about absent parameter.
4294 (write_template_template_arg): Add missing grammar production to
4295 comment.
4296
9076e292
JM
42972000-07-27 Jason Merrill <jason@redhat.com>
4298
4299 * decl.c (duplicate_decls): If common_type produces a non-typedef
4300 type for a typedef, just use the old type.
4301
b2244c65
MM
43022000-07-27 Mark Mitchell <mark@codesourcery.com>
4303
4304 * cp-tree.h (function_depth): Declare.
4305 (verify_stmt_tree): Likewise.
4306 (find_tree): Likewise.
4307 * decl.c (function_depth): Give it external linkage.
4308 * optimize.c (optimize_function): Increment and decrement it.
4309 * tree.c (verify_stmt_tree_r): New function.
4310 (verify_stmt_tree): Likewise.
4311 (find_tree_r): Likewise.
4312 (find_tree): Likewise.
4313
62e3bf54
JM
43142000-07-27 Jason Merrill <jason@redhat.com>
4315
9076e292
JM
4316 * pt.c (for_each_template_parm_r, case RECORD_TYPE): Use
4317 TYPE_PTRMEMFUNC_P.
4318 * cp-tree.h (TYPE_TEMPLATE_INFO): Check for TYPE_LANG_SPECIFIC.
62e3bf54 4319
5a728aca
MM
43202000-07-26 Mark Mitchell <mark@codesourcery.com>
4321
4322 * decl.c (start_cleanup_fn): Mark the function as `inline'.
4323 * decl2.c (get_guard): Call cp_finish_decl, not
4324 rest_of_decl_compilation, for local guards.
4325 * lex.c (do_identifier): Remove unused variable.
4326
6a1fa5f9
ME
4327Wed Jul 26 15:05:51 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
4328
4329 * parse.y: Add missing ';'.
4330
0c10a805
MM
43312000-07-26 Mark Mitchell <mark@codesourcery.com>
4332
4333 * parse.y (empty_parms): Use `()', not `(...)', when in the scope
4334 of `extern "C++"'.
4335
8b27e9ef
NS
43362000-07-25 Nathan Sidwell <nathan@codesourcery.com>
4337
4338 Kill strict_prototype. Backwards compatibility only for
4339 non NO_IMPLICIT_EXTERN_C systems.
4340 * cp-tree.h (flag_strict_prototype): Remove.
4341 (strict_prototype): Remove.
4342 (strict_prototypes_lang_c, strict_prototypes_lang_cplusplus): Remove.
4343 * decl.c (maybe_push_to_top_level): Adjust.
4344 (pop_from_top_level): Adjust.
4345 (decls_match): Only allow sloppy parm matching for ancient
4346 system headers.
4347 (init_decl_processing): Adjust.
4348 (grokdeclarator): Adjust.
4349 * decl2.c (flag_strict_prototype): Remove.
4350 (strict_prototype): Remove.
4351 (strict_prototypes_lang_c, strict_prototypes_lang_cplusplus): Remove.
4352 (lang_f_options): Remove "strict-prototype".
4353 (unsupported-options): Add "strict-prototype".
4354 * lex.c (do_identifier): Adjust.
4355 (do_scoped_id): Adjust.
4356 * parse.y (empty_parms): Adjust.
4357 * class.c (push_lang_context): Adjust.
4358 (pop_lang_context): Adjust.
4359 * typeck.c (comp_target_parms): Adjust.
4360
c3783399
NS
43612000-07-25 Nathan Sidwell <nathan@codesourcery.com>
4362
4363 * decl.c (poplevel): Deal with anonymous variables at for scope.
4364 (maybe_inject_for_scope_var): Likewise.
4365
a7023245
ZW
43662000-07-25 Zack Weinberg <zack@wolery.cumb.org>
4367
4368 * decl.c: Remove all signal handling code, now done in toplev.c.
4369
95ee998c
MM
43702000-07-23 Mark Mitchell <mark@codesourcery.com>
4371
4372 * decl.c (make_rtl_for_nonlocal_decl): Rework.
4373
4374 * pt.c (lookup_template_class): Ensure that TYPE_CONTEXT is set
4375 correctly.
4376
1b493b81
ZW
43772000-07-20 Zack Weinberg <zack@wolery.cumb.org>
4378
4379 * cp-tree.h: Use __FUNCTION__ not __PRETTY_FUNCTION__.
4380 Define my_friendly_assert and my_friendly_abort as macros
4381 which may call friendly_abort. Prototype friendly abort, not
4382 my_friendly_abort or my_friendly_assert.
4383 * decl.c (signal_catch): Report the signal caught in the error
4384 message. Call fatal directly.
4385 * typeck2.c (ack, my_friendly_assert): Delete.
4386 (my_friendly_abort): Rename to friendly_abort. Expect file,
4387 line, and function parameters. Report the abort code, then
4388 call fancy_abort. Do not mask an abort if errors have
4389 already occurred.
4390
a306451c
NS
43912000-07-18 Nathan Sidwell <nathan@codesourcery.com>
4392
4393 * typeck.c (comp_target_parms): Remove obsolete parameter.
4394 (comp_target_types): Adjust.
4395
f49fad00
JM
43962000-07-17 Jason Merrill <jason@redhat.com>
4397
4398 * typeck.c (mark_addressable): Never set TREE_USED.
4399 * call.c (build_call): Don't abort on calls to library functions
4400 that have been declared normally.
4401
4402 * typeck.c (build_binary_op): Fix grammar in warning.
4403
4404 * exception.cc (__eh_free): Fix prototype.
4405
4406 * decl2.c (finish_decl_parsing): Handle TEMPLATE_ID_EXPR.
4407
0e5921e8 4408 * decl.c (pushdecl): Handle seeing an OVERLOAD in
f49fad00
JM
4409 IDENTIFIER_NAMESPACE_VALUE.
4410
69690d98
MM
44112000-07-16 Mark Mitchell <mark@codesourcery.com>
4412
4413 * cp-tree.h (THUNK_VCALL_OFFSET): Update documentation.
4414 * method.c (use_thunk): Correct handling of vcall offsets.
4415
bfbbc080
ZW
44162000-07-14 Zack Weinberg <zack@wolery.cumb.org>
4417
4418 * .cvsignore: parse.h and parse.c have no cp- prefix.
4419
83a90717
MM
44202000-07-13 Mark Mitchell <mark@codesourcery.com>
4421
4422 * .cvsignore: New file.
4423
ea414c97
ZW
44242000-07-13 Zack Weinberg <zack@wolery.cumb.org>
4425
4426 * lang-specs.h: Use the new named specs. Remove unnecessary braces.
4427
792abd35
MM
44282000-07-12 Mark Mitchell <mark@codesourcery.com>
4429
4430 * Makefile.in ($(PARSE_H)): Depend directly on parse.y.
4431 * parse.c: Remove.
4432 * parse.h: Likewise.
4433
72a50ab0
MM
44342000-07-11 Mark Mitchell <mark@codesourcery.com>
4435
4436 * class.c (layout_class_type): Add pointers to virtual bases after
4437 base classes under the old ABI.
4438
0dfdeca6
BC
44392000-07-10 Benjamin Chelf <chelf@codesourcery.com>
4440
4441 * semantics.c (finish_for_stmt): Remove call to emit_line_note.
4442 (finish_continue_stmt): Likewise.
4443 (begin_for_stmt): Remove call to note_level_for_for.
4444 (finish_goto_stmt): Change call from build_min_nt
4445 to build_stmt.
4446 (finish_expr_stmt): Likewise.
4447 (begin_if_stmt): Likewise.
4448 (begin_while_stmt): Likewise.
4449 (finish_while_stmt): Likewise.
4450 (finish_return_stmt): Likewise.
4451 (begin_for_stmt): Likewise.
4452 (finish_for_stmt): Likewise.
4453 (finish_break_stmt): Likewise.
4454 (begin_switch_stmt): Likewise.
4455 (finish_case_label): Likewise.
4456 (genrtl_try_block): Likewise.
4457 (begin_try_block): Likewise.
4458 (begin_handler): Likewise.
4459 (begin_compound_stmt): Likewise.
4460 (finish_asm_stmt): Likewise.
4461 (finish_label_stmt): Likewise.
4462 (add_decl_stmt): Likewise.
4463 (finish_subobject): Likewise.
4464 (finish_decl_cleanup): Likewise.
4465 (finish_named_return_value): Likewise.
4466 (setup_vtbl_ptr): Likewise.
4467 (add_scope_stmt): Likewise.
4468 * decl.c (finish_constructor_body): Likewise.
4469 (finish_destructor_body): Likewise.
4470 * optimize.c (copy_body_r): Likewise.
4471 (initialize_inlined_parameters): Likewise.
4472 (declare_return_variable): Likewise.
4473 (expand_call_inline): Likewise.
0e5921e8 4474
f12eef58
JJ
44752000-07-10 Jakub Jelinek <jakub@redhat.com>
4476
4477 * semantics.c (expand_body): Sync interface information
4478 at the end of function body expansion.
4479
2bb5d995
JM
44802000-07-09 Jason Merrill <jason@redhat.com>
4481
4482 * init.c (build_new_1): Bail early if the call to new fails.
4483
0e5921e8 4484 * decl.c (compute_array_index_type): Check specifically for
2bb5d995
JM
4485 an INTEGER_CST, not just TREE_CONSTANT.
4486
0e5921e8 4487 * decl.c (duplicate_decls): Don't call duplicate_decls on
2bb5d995
JM
4488 the DECL_TEMPLATE_RESULT.
4489 (decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
4490 codes.
4491
4492 * error.c (dump_template_bindings): Don't crash if we had an
4493 invalid argument list.
4494
4495 * typeck.c (c_expand_start_case): Do narrowing here.
4496 * semantics.c (finish_switch_cond): Not here.
4497
44982000-07-09 Hidvegi Zoli <hzoli@austin.ibm.com>
4499
4500 * parse.y (asm_clobbers): Do string concatenation.
4501
089acd57
MM
45022000-07-09 Mark Mitchell <mark@codesourcery.com>
4503
4504 * decl.c (pushtag): Don't put local classes in template functions
4505 on the local_classes list.
4506
45072000-07-04 Scott Snyder <snyder@fnal.gov>
4508
4509 * decl2.c (get_guard): Add missing return for old ABI local
4510 variable case.
4511
7b019c19
MM
45122000-07-09 Mark Mitchell <mark@codesourcery.com>
4513
4514 * cp-tree.h (char_type_p): New function.
4515 * decl.c (init_decl_processing): Don't initialize
4516 signed_wchar_type_node or unsigned_wchar_type_node.
4517 (complete_array_type): Handle brace-enclosed string-constants.
4518 * rtti.c (emit_support_tinfos): Remove #if 0'd code.
4519 * tree.c (char_type_p): New function.
4520 * typeck2.c (digest_init): Use char_type_p.
4521
a5f1c5f8
NS
45222000-07-06 Nathan Sidwell <nathan@codesourcery.com>
4523
4524 * pt.c (tsubst): Don't layout type, if it's error_mark.
4525
84e5ca0f
NS
45262000-07-06 Nathan Sidwell <nathan@codesourcery.com>
4527
4528 * pt.c (instantiate_pending_templates): Reset template level.
4529
ab785305
JM
45302000-07-05 Jason Merrill <jason@redhat.com>
4531
4532 * call.c (joust): Don't complain about `operator char *()' beating
4533 `operator const char *() const'.
4534
90418208
JM
45352000-07-04 scott snyder <snyder@fnal.gov>
4536 Jason Merrill <jason@redhat.com>
4537
0e5921e8 4538 * repo.c (repo_get_id): Handle the case where a class with virtual
90418208
JM
4539 bases has a null TYPE_BINFO_VTABLE.
4540
45412000-07-04 Kevin Buhr <buhr@stat.wisc.edu>
4542 Jason Merrill <jason@redhat.com>
4543
4544 * parse.y (member_init): Just pass in the type.
4545 * init.c (expand_member_init): Handle getting a type.
4546
4547