]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
* call.c, cp-tree.h, pt.c: Fix comment typos.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
878cbb73
KH
12004-03-11 Kazu Hirata <kazu@cs.umass.edu>
2
3 * call.c, cp-tree.h, pt.c: Fix comment typos.
4
e46e9f82
MM
52004-03-10 Mark Mitchell <mark@codesourcery.com>
6
7 PR c++/14510
8 * decl.c (xref_tag): Disregard non-type declarations when
9 looking up a tagged type.
10
c497b976
NS
112004-03-09 Nathan Sidwell <nathan@codesourcery.com>
12
13 PR c++/14397
14 * call.c (convert_like_real): Build a const qualified temporary,
15 when testing ctor access.
16
205b4f1d
MM
172004-03-09 Mark Mitchell <mark@codesourcery.com>
18
19 * call.c (initialize_reference): Fix typo.
20
0da99d4e
GB
212004-03-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
22
23 PR c++/14409
24 * pt.c (determine_specialization): For member templates, match also
25 constness.
26
27 PR c++/14448
28 * parser.c (cp_parser_initializer_clause): Fold initializer if it is
29 non-dependent.
30 * pt.c (tsubst_copy_and_build): Handle NOP_EXPRs.
31
65196e37
MM
322004-03-09 Mark Mitchell <mark@codesourcery.com>
33
34 PR c++/14230
35 * call.c (initialize_reference): Handle initializers that are
36 class-member access expressions applies to rvalues.
37
62d99768
MM
382004-03-09 Mark Mitchell <mark@codesourcery.com>
39
40 PR c++/14432
41 * name-lookup.c (supplement_binding): Ignore functions that are
42 marked DECL_ANTICIPATED.
43
58ec3cc5
MM
442004-03-08 Mark Mitchell <mark@codesourcery.com>
45
46 PR c++/14401
47 * class.c (check_field_decls): Complain about non-static data
48 members of reference type in unions. Propagate
49 CLASSTYPE_REF_FIELDS_NEED_INIT and
50 CLASSTYPE_READONLY_FIELDS_NEED_INIT from the types of non-static
51 data members.
52 * init.c (perform_member_init): Complain about mbmers with const
53 type that are not explicitly initialized.
54
552004-03-08 Mark Mitchell <mark@codesourcery.com>
56
57 * class.c (check_methods): Don't use IDENTIFIER_ERROR_LOCUS.
58 * cp-tree.h (DECL_INVALID_OVERRIDER_P): New macro.
59 (lang_identifier): Remove implicit_decl and error_locus.
60 (IDENTIFIER_IMPLICIT_DECL): Remove.
61 (SET_IDENTIFIER_IMPLICTI_DECL): Likewise.
62 (IDENTIFIER_ERROR_LOCUS): Likewise.
63 (SET_IDENTIFIER_ERROR_LOCUS): Likewise.
64 (TYPE_ASSEMBLER_NAME_STRING): Likewise.
65 (TYPE_ASSEMBLER_NAME_LENGTH): Likewise.
66 (implicitly_declare): Remove.
67 * decl.c (warn_extern_redeclared_static): Remove check of
68 IDENTIFIER_IMPLICIT_DECL.
69 (duplicate_decls): Don't check IDENTIFIER_ERROR_LOCUS.
70 (implicitly_declare): Remove.
71 (grok_ctor_properties): Don't set IDENTIFIER_ERROR_LOCUS.
72 (start_function): Don't check IDENTIFIER_IMPLICIT_DECL.
73 (start_method): Don't check IDENTIFIER_ERROR_LOCUS.
74 * lex.c (unqualified_name_lookup_error): Create a dummy VAR_DECL
75 in the innermost scope, rather than at namespace scope.
76 * name-lookup.c (push_local_binding): Give it external linkage.
77 (pushdecl): Remove dead code.
78 * name-lookup.h (push_local_binding): Declare it.
79 * ptree.c (cxx_print_identifier): Don't print
80 IDENTIFIER_IMPLICIT_DECL or IDENTIFIER_ERROR_LOCUS.
81 * search.c (check_final_overrider): Use DECL_INVALID_OVERRIDER_P,
82 not IDENTIFIER_ERROR_LOCUS.
83 * typeck.c (build_function_call): Remove dead code.
84
38b305d0
JM
852004-03-08 Jason Merrill <jason@redhat.com>
86
87 PR c++/13170
88 * decl.c (xref_tag): Remove attribute handling.
89 * cp-tree.h: Adjust prototype.
90 * decl.c, parser.c, rtti.c: Adjust callers.
91 * parser.c (cp_parser_class_head): Pass back attributes in the
92 class head.
93 (cp_parser_class_specifier): Adjust.
94
97b6d55b
MA
952004-03-08 Matt Austern <austern@apple.com>
96
97 PR debug/14079
98 * name-lookup.c (add_decl_to_level): Add extern variables, as well
99 as static, to static_decls array.
100
fd917e0d
JM
1012004-03-05 Jason Merrill <jason@redhat.com>
102
103 * tree.c (list_hash_pieces): s/TYPE_HASH/TREE_HASH/.
104
9fc444cc
GK
1052004-03-04 Geoffrey Keating <geoffk@apple.com>
106
107 * decl.c (grokfndecl): Update old incorrect comment.
108 (grokvardecl): Diagnose C++ variables of type with no linkage.
109
9b7be7b5
MM
1102004-03-01 Mark Mitchell <mark@codesourcery.com>
111
112 PR c++/14369
113 * pt.c (build_non_dependent_expr): Do not create a
114 NON_DEPENDENT_EXPR for a THROW_EXPR.
115
1c09c5e5
GDR
1162004-03-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
117
118 PR c++/14369
119 * error.c (dump_expr): Handle THROW_EXPR.
120
676e33ca
MM
1212004-03-01 Mark Mitchell <mark@codesourcery.com>
122
123 PR c++/14360
124 * parser.c (cp_parser_postfix_expression): Do not perform Koenig
125 lookup if ordinary name-lookup finds a non-function.
126 * pt.c (tsubst_copy_and_build): Likewise.
127
128 PR c++/14361
129 * parser.c (cp_parser_late_parsing_default_args): Check that there
130 are no extra tokens after the end of the default-argument
131 expression.
132
ab73670a
MM
1332004-03-01 Mark Mitchell <mark@codesourcery.com>
134
135 PR c++/14324
136 * lex.c (retrofit_lang_decl): Treat entities with no linkage as
137 having C++ linkage for name-mangling purposes.
138
139 PR c++/14260
140 * parser.c (cp_parser_direct_declarator): Recognize constructor
141 declarators that use a template-id to name the class being
142 constructed.
143
144 PR c++/14337
145 * pt.c (tsubst_qualified_id): Handle dependent qualifying scopes.
146 (tsubst_expr): Do not call tsubst_copy, even when
147 processing_template_decl.
148
9bf793f9
JL
1492004-03-01 Jeff Law <law@redhat.com>
150
151 * init.c (build_vec_delete_1): Convert 2nd argument to NE_EXPR to
152 the proper type.
153
91b004e5
MM
1542004-02-29 Mark Mitchell <mark@codesourcery.com>
155
156 PR c++/14138
157 * name-lookup.h (push_scope): Change prototype.
158 * name-lookup.c (push_scope): Do not reenter the current class
159 scope.
160 * decl.c (grokfndecl): Check return code from push_scope before
161 calling pop_scope.
162 * decl2.c (check_classfn): Likewise.
163 * parser.c (cp_parser_conversion_function_id): Likewise.
164 (cp_parser_init_declarator): Likewise.
165 (cp_parser_direct_declarator): Likewise.
166 (cp_parser_class_specifier): Likewise.
167 (cp_parser_class_head): Likewise.
168 (cp_parser_lookup_name): Likewise.
169 (cp_parser_constructor_declarator_p): Likewise.
170 * pt.c (instantiate_class_template): Likewise.
171 (resolve_typename_type): Likewise.
172
39876352
MM
1732004-02-29 Mark Mitchell <mark@codesourcery.com>
174
719f407a
MM
175 PR c++/14267
176 * typeck.c (build_modify_expr): Remove more of the cast-as-lvalue
177 extension.
178
39876352
MM
179 PR debug/12103
180 * class.c (update_vtable_entry_for_fn): Do not go through
181 covariance machinery if the type returned by an overrider is the
182 same as the original.
183
4ee31f1e
KH
1842004-02-29 Kazu Hirata <kazu@cs.umass.edu>
185
186 * call.c: Fix a comment typo.
187
b1009a5d
ZL
1882004-02-27 Ziemowit Laski <zlaski@apple.com>
189
190 * tree.c (pod_type_p): Treat VECTOR_TYPEs as PODs.
191
4d5fe289
MM
1922004-02-26 Mark Mitchell <mark@codesourcery.com>
193
194 PR c++/14278
195 * parser.c (cp_parser_parameter_declaration_list): Commit
196 to fewer tentative parses.
197
6bf92cb6
GB
1982004-02-26 Giovanni Bajo <giovannibajo@gcc.gnu.org>
199
200 PR c++/14284
201 * pt.c (dependent_type_p_r): A template template parameter is a
202 dependent type.
203
3cc8f587
GB
2042004-02-26 Giovanni Bajo <giovannibajo@gcc.gnu.org>
205
206 PR c++/14246
207 * mangle.c (write_template_arg_literal): Don't rely on identity for
208 boolean constants.
209
134084ff
JM
2102004-02-24 Jason Merrill <jason@redhat.com>
211
212 * tree.c (build_exception_variant): Use check_qualified_type.
213
3521b33c
ZW
2142004-02-23 Zack Weinberg <zack@codesourcery.com>
215 Kazu Hirata <kazu@cs.umass.edu>
216
217 * decl.c (cxx_init_decl_processing): Don't check
218 flag_writable_strings.
219
a2f1f4c3
AP
2202004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
221
222 PR c++/14156
223 * typeck.c (maybe_warn_about_returning_address_of_location):
224 Change check for VAR_DECL to use DECL_P instead.
225
29f4ceab
GB
2262004-02-23 Giovanni Bajo <giovannibajo@gcc.gnu.org>
227
228 PR c++/14250
229 * cvt.c (build_expr_type_conversion): Type must be complete before
230 looking up for conversions.
231
146d3c99
GB
2322004-02-23 Giovanni Bajo <giovannibajo@gcc.gnu.org>
233
234 PR c++/14143
235 * name-lookup.c (arg_assoc_class): Don't look into template
236 arguments if it is not a primary template.
237
7a3e01c4
JDA
2382004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
239
146d3c99 240 PR c++/12007
7a3e01c4
JDA
241 * method.c (use_thunk): Always clone function argument tree.
242
c0694c4b
MM
2432004-02-20 Mark Mitchell <mark@codesourcery.com>
244
245 PR c++/14199
246 * pt.c (tsubst_copy): Call mark_used for a PARM_DECL.
247
248 PR c++/14173
249 * semantics.c (begin_class_definition): Set TYPE_PACKED correctly
250 for all type variants.
251
a6567a0f
MM
2522004-02-19 Mark Mitchell <mark@codesourcery.com>
253
c0694c4b
MM
254 PR c++/13927
255 * decl.c (duplicate_decls): Return error_mark_node for invalid
256 redeclarations.
257 * name-lookup.c (push_namespace): Ignore the return value from
258 pushdecl.
259 * pt.c (push_template_decl_real): Robustify.
260
a6567a0f
MM
261 PR c++/14186
262 * name-lookup.c (push_class_level_binding): Do not complain about
263 adding a binding for a member whose name is the same as the
264 enclosing class if the member is located in a base class of the
265 current class.
266
063e900f
GB
2672004-02-19 Giovanni Bajo <giovannibajo@gcc.gnu.org>
268
269 PR c++/14181
270 * parser.c (cp_parser_new_expression): Parse an ill-formed
271 direct-new-declarator after a parenthesized type-id to emit good
272 diagnostic.
273
aa335b76
KH
2742004-02-18 Kazu Hirata <kazu@cs.umass.edu>
275
276 * cp-tree.def, cvt.c: Update copyright.
277
57782ad8
MM
2782004-02-17 Mark Mitchell <mark@codesourcery.com>
279
280 PR c++/11326
281 * cp-tree.h (abi_version_at_least): Remove.
282 * mangle.c: Include flags.h.
283
d2f2c87b
MM
2842004-02-15 Mark Mitchell <mark@codesourcery.com>
285
286 PR c++/13971
287 * call.c (build_conditional_expr): Handle conversions between
288 class types which result in differently cv-qualified type
289 variants.
290
291 PR c++/14086
292 * class.c (delete_duplicate_fields_1): Remove.
293 (delete_duplicate_fields): Likewise.
294 (finish_struct_anon): Remove check for members with the same name
295 as their enclosing class.
296 (check_field_decls): Do not call duplicate_fields.
297 * decl.c (grokdeclarator): Remove check for static data members
298 with the same name as their enclosing class.
299 * name-lookup.c (push_class_level_binding): Check for members with
300 the same name as their enclosing class.
301
bf3e8283
GDR
3022004-02-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
303
304 PR c++/14085
305 * error.c (dump_decl): Handle TEMPLATE_TYPE_PARM.
306
28ba38e3
KL
3072004-02-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
308
309 PR c++/13635
310 * pt.c (push_template_decl_real): Make sure DECL_TI_ARGS of DECL
311 has full set of arguments.
312
7162281a
GB
3132004-02-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
314
315 PR c++/13927
316 * error.c (dump_decl) <ALIAS_DECL>: Dump as simple declarations.
317
41dffe62
MM
3182004-02-13 Mark Mitchell <mark@codesourcery.com>
319
0e8c9b28
MM
320 PR c++/14122
321 * cp-tree.h (delete_sanity): Change prototype.
322 * decl2.c (delete_sanity): Make doing_vec a bool, not an int.
323 Remove dead code. Adjust code to warn about deleting an array.
324 * typekc.c (decay_conversion): Use build_address and build_nop.
325
326 PR c++/14108
327 * search.c (accessible_p): Do not check access in thunks.
328
41dffe62
MM
329 PR c++/14083
330 * call.c (build_conditional_expr): Call force_rvalue on the
331 non-void operand in the case that one result is a throw-expression
332 and the other is not.
333
d6e57462
ILT
3342004-02-13 Ian Lance Taylor <ian@wasabisystems.com>
335
336 PR c++/9851
337 * parser.c (cp_parser_pseudo_destructor_name): Check for errors on
338 the type name and look ahead for ::~, and bail out early with a
339 better error message if the parse is going to fail.
340
5bd61841
MM
3412004-02-12 Mark Mitchell <mark@codesourcery.com>
342
343 * call.c (conversion_kind): New type.
344 (conversion_rank): Likewise.
345 (conversion): Likewise.
346 (CONVERSION_RANK): New macro.
347 (conversion_obstack): New variable.
348 (obstack_initialized): Likewise.
349 (z_candidate): Change type of convs and second_conv.
350 (candidate_warning): New type.
351 (IDENTITY_RANK): Remove.
352 (EXACT_RANK): Likewise.
353 (PROMO_RANK): Likewise.
354 (STD_RANK): Likewise.
355 (PBOOL_RANK): Likewise.
356 (USER_RANK): Likewise.
357 (ELLIPSIS_RANK): Likewise.
358 (BAD_RANK): Likewise.
359 (ICS_RANK): Likewise.
360 (ICS_STD_RANK): Likewise.
361 (ICS_USER_FLAG): Likewise.
362 (ICS_ELLIPSIS_FLAG): Likewise.
363 (ICS_THIS_FLAG): Likewise.
364 (ICS_BAD_FLAG): Likewise.
365 (NEED_TEMPORARY_P): Likewise.
366 (CHECK_COPY_CONSTRUCTOR_P): Likewise.
367 (USER_CONV_CAND): Likewise.
368 (USER_CONV_FN): Likewise.
369 (conversion_obstack_alloc): New function.
370 (alloc_conversion): Likewise.
371 (validate_conversion_obstack): Likewise.
372 (alloc_conversions): Likewise.
373 (build_conv): Adjust to deal with new conversion data structures.
374 (build_identity_conv): New function.
375 (build_ambiguous_conv): Likewise.
376 (standard_conversion): Adjust to deal with new conversion data
377 structures.
378 (convert_class_to_reference): Likewise.
379 (direct_reference_binding): Likewise.
380 (reference_binding): Likewise.
381 (implicit_conversion): Likewise.
382 (add_candidate): Likewise.
383 (add_function_candidate): Likewise.
384 (add_conv_candidate): Likewise.
385 (build_builtin_candidate): Likewise.
386 (print_z_candidate): Likewise.
387 (merge_conversion_sequences): Likewise.
388 (build_user_type_conversion_1): Likewise.
389 (build_user_type_conversion): Likewise.
390 (build_new_function_call): Likewise.
391 (build_object_call): Likewise.
392 (conditional_conversion): Likewise.
393 (build_conditional_expr): Likewise.
394 (build_new_op): Likewise.
395 (build_op_delete_call): Likewise.
396 (convert_like_real): Likewise.
397 (build_over_call): Likewise.
398 (build_new_method_call): Likewise.
399 (is_subseq): Likewise.
400 (maybe_handle_implicit_object): Likewise.
401 (maybe_handle_ref_bind): Likewise.
402 (compare_ics): Likewise.
403 (source_type): Likewise.
404 (add_warning): Likewise.
405 (joust): Likewise.
406 (can_convert_arg): Likewise.
407 (can_convert_arg_bad): Likewise.
408 (perform_implicit_conversion): Likewise.
409 (perform_direct_initialization_if_possible): Likewise.
410 (initialize_reference): Likewise.
411 * cp-lang.c (cp_tree_size): Do not handle WRAPPER.
412 * cp-tree.def (WRAPPER): Likewise.
413 (IDENTITY_CONV): Remove.
414 (LVALUE_CONV): Likewise.
415 (QUAL_CONV): Likewise.
416 (STD_CONV): Likewise.
417 (PTR_CONV): Likewise.
418 (PMEM_CONV): Likewise.
419 (BASE_CONV): Likewise.
420 (REF_BIND): Likewise.
421 (USER_CONV): Likewise.
422 (AMBIG_CONV): Likewise.
423 (RVALUE_CONV): Likewise.
424 * cp-tree.h (tree_wrapper): Remove.
425 (WRAPPER_ZC): Remove.
426 (lang_tree_node): Remove wrapper.
427 (LOOKUP_SPECULATIVELY): Remove.
428 (build_op_delete_call): Adjust prototype.
429 (validate_conversion_obstack): Declare.
430 (build_zc_wrapper): Remove.
431 * cvt.c (convert_to_reference): Remove dead code.
432 (ocp_convert): Likewise.
433 * decl.c (redeclaration_error_message): Correct handling of
434 templates.
435 (finish_destructor_body): Do not use LOOKUP_SPECULATIVELY.
436 (cp_tree_node_structure): Remove WRAPPER case.
437 * decl2.c (finish_file): Call validate_conversion_obstack.
438 * init.c (build_new_1): Remove use of LOOKUP_SPECULATIVELY.
439 (build_op_delete_call): Likewise.
440 (build_x_delete): Likewise.
441 (build_delete): Adjust call to build_op_delete_call.
442 * pt.c (tsubst_friend_declaration): Adjust code to determine
443 whether or not a friend template is a definition.
444 (tsubst_decl): Clear DECL_INITIAL for new FUNCTION_DECLs.
445 * tree.c (build_zc_wrapper): Remove.
446
21d13d83
ZW
4472004-02-12 Zack Weinberg <zack@codesourcery.com>
448
449 * cp-lang.c: Don't define LANG_HOOKS_BUILTIN_TYPE_DECLS.
450 * cp-tree.h: Don't declare cxx_builtin_type_decls.
451 * decl.c (builtin_type_decls, cxx_builtin_type_decls): Delete.
452 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
453
3d2dbfbb
MM
4542004-02-10 Mark Mitchell <mark@codesourcery.com>
455
456 * typeck.c (lookup_destructor): Fix typo in error message.
457
77077b39
KH
4582004-02-09 Kazu Hirata <kazu@cs.umass.edu>
459
460 * call.c, parser.c, tree.c: Fix comment typos.
461
a6f78652
ZW
4622004-02-07 Zack Weinberg <zack@codesourcery.com>
463
464 Bug 13856
465 * optimize.c (maybe_clone_body): Don't update DECL_ESTIMATED_INSNS.
466 * decl.c (duplicate_decls, start_function): Likewise.
467
4682004-02-07 Zack Weinberg <zack@codesourcery.com>
469
470 * name-lookup.c (pushdecl): Issue shadow warnings directly.
471 * parser.c (free_parser_stacks): Delete.
472
0ea5865c
KH
4732004-02-07 Kazu Hirata <kazu@cs.umass.edu>
474
475 * rtti.c: Update copyright.
476
2500bbb6
GB
4772003-02-06 Giovanni Bajo <giovannibajo@gcc.gnu.org>
478
479 PR c++/14033
480 * decl.c (require_complete_types_for_parms): Do not insert
481 error_mark_node in the parameter list.
482
6c0cc713
GB
4832003-02-06 Giovanni Bajo <giovannibajo@gcc.gnu.org>
484
485 PR c++/14028
486 * parser.c (cp_parser_enclosed_template_argument_list): Emit straight
487 error when terminator can not be found.
488
02ba6b22
KC
4892004-02-05 Kelley Cook <kcook@gcc.gnu.org>
490
491 Make-lang.in (po-generated): Delete.
492
136e64db
KH
4932004-02-05 Kazu Hirata <kazu@cs.umass.edu>
494
495 * call.c (type_passed_as): Replace PROMOTE_PROTOTYPES with
496 targetm.calls.promote_prototypes.
497
839ee4bc
RO
4982004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
499
500 PR middle-end/13750
501 Revert:
502 2004-01-15 Geoffrey Keating <geoffk@apple.com>
503 PR pch/13361
504 * cp/lex.c (handle_pragma_interface): Duplicate string from tree.
505 (handle_pragma_implementation): Likewise.
506
fca00ffb
MM
5072004-02-05 Mark Mitchell <mark@codesourcery.com>
508
509 PR c++/13714
510 * typeck.c (lookup_destructor): Tweak error message.
511
6039a93d
JH
5122004-02-05 Jan Hubicka <jh@suse.cz>
513
514 * tree.c (cp_cannot_inline_tree_fn): Allow inlining of comdat
515 functions.
516
2097b5f2
GB
5172003-02-05 Giovanni Bajo <giovannibajo@gcc.gnu.org>
518
519 PR c++/14008
a6f78652 520 * parser.c (cp_parser_diagnose_invalid_typename): Removed parsing
2097b5f2
GB
521 code, only emits the diagnostic now. Added lookup of the identifier
522 and support for qualified ids.
523 (cp_parser_parse_and_diagnose_invalid_type_name): New function.
524 Parse an (invalid) type name as id-expression within a declarator.
525 (cp_parser_simple_declaration): Use it.
526 (cp_parser_member_declaration): Likewise.
527 (cp_parser_make_typename_type): New function. Handle errors through
528 cp_parser_diagnose_invalid_typename.
529 (cp_parser_elaborated_type_specifier): Use it.
530
f583e452
MM
5312004-02-04 Mark Mitchell <mark@codesourcery.com>
532
533 PR c++/13932
534 * call.c (convert_like_real): Use "converting" rather than
535 "argument" as the descriptive keyword to
536 dubious_conversion_warnings.
537 * typeck.c (convert_for_assignment): Do not call
538 dubious_conversion_warnings.
539
b1e5b86c
GB
5402004-02-04 Giovanni Bajo <giovannibajo@gcc.gnu.org>
541
542 PR c++/13086
543 * init.c (build_delete): Emit a more informative error message in
544 case of an incomplete type, and on the correct source line.
545
e146f815
KH
5462004-02-04 Kazu Hirata <kazu@cs.umass.edu>
547
548 * error.c, search.c: Update copyright.
549
6f3d0d2f
MM
5502004-02-04 Mark Mitchell <mark@codesourcery.com>
551
552 PR c++/9941
553 * rtti.c (tinfo_base_init): Use import_export_tinfo to decide the
554 linkage for the typeinfo name string.
555
9baa27a9
MM
5562004-02-04 Mark Mitchell <mark@codesourcery.com>
557
558 PR c++/13969
559 * cp-tree.h (fold_non_dependent_expr): New function.
560 * parser.c (cp_parser_fold_non_dependent_expr): Remove.
561 (cp_parser_template_argument): Use fold_non_dependent_expr.
562 (cp_parser_direct_declarator): Likewise.
563 * pt.c (fold_non_dependent_expr): New function.
564 (convert_nontype_argument): Use it.
565 (tsubst_qualified_id): Simplify.
566 (tsubst_copy_and_build): Likewise.
567
dd292d0a
MM
5682004-02-04 Mark Mitchell <mark@codesourcery.com>
569
570 * decl.c (cxx_push_function_context): Do not set
571 current_function_is_thunk.
572 * method.c (use_thunk): Set CALL_FROM_THUNK on the call to the
573 actual function.
574
baa49730
GB
5752003-02-04 Giovanni Bajo <giovannibajo@gcc.gnu.org>
576
18d0ecb6 577 PR c++/13997
baa49730
GB
578 * pt.c (more_specialized_class): Increase processing_template_decl
579 while partial ordering.
580
18f5be99
MM
5812004-02-03 Mark Mitchell <mark@codesourcery.com>
582
583 PR c++/13925
584 * decl.c (start_function): Do not call pushdecl for any
585 instantiation or specialization of a primary template.
586
3c398f34
MM
5872004-02-03 Mark Mitchell <mark@codesourcery.com>
588
4bfb8bba
MM
589 PR c++/13950
590 * parser.c (cp_parser_class_name): Robustify.
591
592 PR c++/13970
593 * parser.c (cp_parser_cache_group): Do not consume the EOF token.
594
3c398f34
MM
595 PR c++/14002
596 * semantics.c (finish_id_expression): Do not return an
597 IDENTIFIER_NODE when lookup finds a PARM_DECL.
598
5a98fa7b
MM
5992004-02-03 Mark Mitchell <mark@codesourcery.com>
600
601 PR c++/13978
602 * pt.c (build_non_dependent_expr): Do not build
603 NON_DEPENDENT_EXPRs for FUNCTION_DECLs or TEMPLATE_DECLs.
604
605 PR c++/13968
606 * semantics.c (finish_id_expression): Do not return an
607 IDENTIFIER_NODE when lookup finds a VAR_DECL.
608
609 PR c++/13975
610 * parser.c (cp_parser_simple_declaration): When skipping to the
611 end of the statement swallow the terminating semicolon.
612
e9525111
MM
6132004-02-02 Mark Mitchell <mark@codesourcery.com>
614
615 PR c++/13113
616 * init.c (build_offset_ref): Improve error recovery for invalid
617 uses of non-static member functions.
618
619 PR c++/13854
620 * cp-tree.h (cp_build_type_attribute_variant): New function.
621 * class.c (build_clone): Use cp_build_type_attribute_variant.
622 * decl.c (duplicate_decls): Likewise.
623 * pt.c (copy_default_args_to_explicit_spec): Likewise.
624 (tsubst_function_type): Likewise.
625 * tree.c (build_exception_variant): Check attributes before
626 concluding that two types are the same.
627 (cp_build_type-attribute_variant): New method.
628 * typeck.c (merge_types): Use cp_build_type_attribute_variant.
629
630 PR c++/13907
631 * call.c (convert_class_to_reference): Keep better track of
632 pedantically invalid user-defined conversions.
633
84b683c1
GB
6342004-02-01 Giovanni Bajo <giovannibajo@gcc.gnu.org>
635
636 PR c++/13957
637 * pt.c (tsubst_qualified_id): Improved error message when a type
638 is expected but not found.
639
852dcbdd
KH
6402004-01-31 Kazu Hirata <kazu@cs.umass.edu>
641
642 * class.c: Fix comment typos.
643 * decl.c: Likewise.
644 * error.c: Likewise.
645 * parser.c: Likewise.
646 * pt.c: Likewise.
647 * search.c: Likewise.
648 * typeck.c: Likewise.
649
59445d74
RH
6502004-01-30 Richard Henderson <rth@redhat.com>
651
a6f78652
ZW
652 PR c++/13693
653 * method.c (use_thunk): Don't force_target_expr for void thunks.
654 * tree.c (build_target_expr_with_type): Assert non-void type.
655 (force_target_expr): Likewise.
59445d74 656
98ce043b
MM
6572004-01-30 Michael Matz <matz@suse.de>
658
659 * parser.c (cp_parser_labeled_statement): Accept case ranges.
660
a9f46cbb
GB
6612004-01-30 Giovanni Bajo <giovannibajo@gcc.gnu.org>
662
663 DR206
664 PR c++/13813
665 * decl.c (grokdeclarator): Check immediatly type completeness for
666 non-dependent types.
667
5840af0f
GB
6682004-01-30 Giovanni Bajo <giovannibajo@gcc.gnu.org>
669
670 PR c++/13683
671 * call.c (convert_arg_to_ellipsis): Don't emit a warning if within
672 a sizeof expression.block
673
4a5e0ed9
MM
6742004-01-29 Mark Mitchell <mark@codesourcery.com>
675
676 PR c++/13883
677 * mangle.c (write_encoding): Correct encoding of member template
678 constructors.
679
f4abade9
GB
6802004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
681
a6f78652 682 * parser.c (cp_parser_template_id): Parse tentatively `[:' after a
f4abade9
GB
683 template name as it was `<::' (digraph typo).
684 (cp_parser_nth_token_starts_template_argument_list_p): New function.
685 (cp_parser_id_expression): Use it.
686 (cp_parser_nested_name_specifier_opt): Likewise.
687 (cp_parser_template_name): Likewise.
688 (cp_parser_class_name): Likewise.
689 (cp_lexer_get_preprocessor_token): Use c_lex_with_flags.
690
a7324e75
MM
6912004-01-28 Mark Mitchell <mark@codesourcery.com>
692
b1a95e0b
MM
693 PR c++/13791
694 * typeck.c (merge_types): Do not merge attributes into
695 TYPENAME_TYPEs.
696
a7324e75
MM
697 PR c++/13736
698 * parser.c (cp_parser_direct_declarator): Do not prevent
699 backtracking inside a parenthesized declarator.
700 (cp_parser_parameter_declaration): Fix typo in comment.
701
de81ffd4
JH
7022004-01-28 Jan Hubicka <jh@suse.cz>
703
704 * semantics.c (expand_body) Do emit_associated_thunks before
705 expansion.
706
6097b0c3
DP
7072004-01-27 Devang Patel <dpatel@apple.com>
708
709 * name-lookup.c: Include "debug.h"
710 (do_namespace_alias): Invoke debug_hooks to emit debug info
711 for namespace alias.
a6f78652 712 (do_local_using_decl): Invoke debug_hooks to emit debug info
6097b0c3
DP
713 for using decl.
714 (do_class_using_decl): Same.
715 (do_toplevel_using_decl): Same.
716 (do_using_directive): Same.
717 (cp_emit_debug_info_for_using): New function.
718 * Make-lang.in (cp/parser.o): Depend on debug.h
719 (cp/name-lookup.o): Same.
720
1c62e7b2
KG
7212004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
722
723 * cp-tree.h (language_function, lang_type_header): Use
724 BOOL_BITFIELD.
725 * name-lookup.h (cp_binding_level): Likewise.
726
c353b8e3
MM
7272004-01-26 Mark Mitchell <mark@codesourcery.com>
728
6f69173e
MM
729 PR c++/13663
730 * semantics.c (finish_for_expr): Check for unresolved overloaded
731 functions.
732
c353b8e3
MM
733 * class.c (add_method): Just check processing_template_decl to
734 determine whether or not we are within a template.
735 * decl2.c (maybe_retrofit_in_chrg): Likewise.
736 * init.c (decl_constant_value): Check the type of the declaration,
737 not TREE_READONLY.
738 * name-lookup.c (maybe_push_to_top_level): Rename to ...
739 (push_to_top_level): ... this.
740 * name-lookup.h (maybe_push_to_top_level): Do not declare it.
741 * pt.c (push_template_decl_real): Reorder condition for speed.
742 (convert_template_argument): Use dependency-checking functions in
743 place of uses_template_parms.
744 (lookup_template_class): Avoid calling uses_template_parms more
745 than once.
746 (uses_template_parms): Reimplement, using dependency-checking
747 functions.
748 (instantiate_class_template): Use push_to_top_level, not
749 maybe_push_to_top_level.
750 (type_unification_real): Simplify.
751 (type_dependent_expression_p): Handle OFFSET_REFs and
752 TEMPLATE_DECLs.
753 (any_dependent_template_arguments_p): Handle multiple levels of
754 template argument.
755 * semantics.c (expand_or_defer_fn): Do not check
756 uses_template_parms for template instantiations.
757 * typeck.c (comptypes): Avoid calling cp_type_quals.
758
b7c707d1
MM
7592004-01-25 Mark Mitchell <mark@codesourcery.com>
760
761 PR c++/13833
762 * call.c (build_over_call): Do not convert arguments when
763 processing a template.
764 * pt.c (build_non_dependent_expr): Do not build a
765 NON_DEPENDENT_EXPR for arithmetic constants.
766
a3a503a5
GB
7672004-01-25 Giovanni Bajo <giovannibajo@gcc.gnu.org>
768
769 PR c++/13810
a6f78652 770 * parser.c (cp_parser_type_parameter): When cp_parser_id_expression
a3a503a5
GB
771 returns a TYPE_DECL. no further lookup is required.
772 * semantics.c (check_template_template_default_arg): A TYPE_DECL
773 is invalid. Rework to give better diagnostics.
774
ad2768d0 7752004-01-25 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
2620d095
KL
776
777 PR c++/13797
778 * pt.c (instantiate_class_template): Add an error_mark_node
779 check.
780 (tsubst_decl) <TEMPLATE_DECL case>: Likewise.
781
279883ed
AP
7822004-01-23 Andrew Pinski <pinskia@physics.uc.edu>
783
784 PR c++/13701
785 * decl.c (finish_function): Move the call to
786 finish_fname_decls below the call to
787 finish_eh_spec_block.
788
3c2426b9
KH
7892004-01-21 Kazu Hirata <kazu@cs.umass.edu>
790
791 * optimize.c, typeck2.c: Update copyright.
792
521cc508
KH
7932004-01-21 Kazu Hirata <kazu@cs.umass.edu>
794
795 * Make-lang.in, call.c, class.c, decl2.c, except.c, expr.c,
796 init.c, mangle.c, typeck.c: Update copyright.
797
4543ee47
ZD
7982004-01-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
799
800 * parser.c (cp_parser_class_specifier): Prevent garbage collection.
801
a541f69d
KC
8022004-01-20 Kelley Cook <kcook@gcc.gnu.org>
803
804 * Make-lang.in: Replace $(docdir) with doc.
805 (c++.info, c++.srcinfo): Dummy entry.
806 (c++.man, c++.srcman): New rules.
807 (c++.install-man): Revamp rule.
808
e165d61b
KC
8092004-01-20 Kelley Cook <kcook@gcc.gnu.org>
810
a6f78652 811 * Make-lang.in (CXX_INSTALL_NAME, GXX_INSTALL_NAME,
e165d61b
KC
812 CXX_TARGET_INSTALL_NAME, GXX_TARGET_INSTALL_NAME): Define via a
813 immediate $(shell) instead of deferred backquote.
814
9f880ef9
MM
8152004-01-19 Mark Mitchell <mark@codesourcery.com>
816
be799b1e
MM
817 PR c++/13651
818 * parser.c (cp_parser_postfix_expression): When encountering
819 incomplete type on left-hand side of "->" or ".", treat the entire
820 expression as erroneous.
821
9f880ef9
MM
822 PR c++/13592
823 * call.c (build_field_call): Remove.
824 (n_build_method_call): Likewise.
825 (build_method_call): Likewise.
826 (build_new_method_call): Do not call build_field_call.
827 * class.c (n_build_method_call): Remove.
828 (print_class_statistics): Do not print it.
829 * cp-tree.h (build_method_call): Remove declaration.
830 (finish_object_call_expr): Likewise.
831 (build_new_1): Do not use build_method_call.
832 * parser.c (cp_parser_postfix_expression): Use finish_call_expr
833 when the function appearing on the right-hand-side of "." or "->"
834 is not actually a function.
835 * pt.c (tsubst_copy_and_build): Likewise.
836 * semantics.c (finish_object_call_expr): Remove.
837
b830b74c
MM
8382004-01-18 Mark Mitchell <mark@codesourcery.com>
839
0f18efe3 840 PR c++/13710
b830b74c
MM
841 * pt.c (tsubst): Use finish_typeof.
842
0fed9ec7 8432004-01-18 Jason Merrill <jason@redhat.com>
aff5c451
JM
844
845 PR c++/11725
846 * except.c (build_throw): In a template, set
847 current_function_returns_abnormally.
848
4bfaff4d 8492004-01-17 Fred Fish <fnf@intrinsity.com>
6f27961a
AP
850
851 PR c++/11895
852 * decl.c (reshape_init): Handle VECTOR_TYPE like ARRAY_TYPE,
853 except don't call array_type_nelts() with a VECTOR_TYPE.
854
965514bd
JH
8552004-01-16 Jan Hubicka <jh@suse.cz>
856
857 * mangle.c (write_mangled_name): Remove inline modifier.
858
ab8ffc79
MM
8592004-01-16 Mark Mitchell <mark@codesourcery.com>
860
a8e6c82a
MM
861 PR c++/13574
862 * decl.c (compute_array_index_type): Fix grammar in comment.
863 * init.c (build_zero_init): Handle zero-sized arrays correctly.
864
144e414d
MM
865 PR c++/13178
866 * call.c (name_as_c_string): Print conversion operator names
867 correctly.
868
ab8ffc79 869 PR c++/13478
1b6bfcd2
MM
870 * call.c (initialize_reference): Pass -1 for inner parameter to
871 convert_like_real.
ab8ffc79 872
1ed53ef3
GB
8732004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
874
875 PR c++/13407
876 * parser.c (cp_parser_base_specifier): Check for an invalid
877 keyword `typename' and emit an user-friendly error message.
878
a6dd4094
GK
8792004-01-15 Geoffrey Keating <geoffk@apple.com>
880
881 PR pch/13361
882 * cp/lex.c (handle_pragma_interface): Duplicate string from tree.
883 (handle_pragma_implementation): Likewise.
884
21b34b9c
GB
8852004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
886
887 PR c++/9259
888 * typeck.c (build_class_member_access_expr): Allow to access members
889 of the currently open class.
890 (finish_class_member_access_expr): Likewise.
891
ed5f054f
AO
8922004-01-15 Alexandre Oliva <aoliva@redhat.com>
893
894 PR c++/13659
895 * name-lookup.c (validate_nonmember_using_decl): Take scope and
896 name by value, instead of computing them.
897 (do_local_using_decl, do_toplevel_using_decl): Add scope and name
898 arguments. Pass them to validate_nonmember_using_decl.
899 * name-lookup.h (do_local_using_decl): Adjust.
900 (do_toplevel_using_decl): Likewise.
901 * parser.c (cp_parser_using_declaration): Likewise.
902 * pt.c (tsubst_expr): Likewise.
903
dc55c941
AO
9042004-01-15 Alexandre Oliva <aoliva@redhat.com>
905
906 PR c++/13594
907 PR c++/13658
908 * name-lookup.c (qualified_lookup_using_namespace): Search
909 strongly-associated namespaces first, and only then try other
910 namespaces.
911
03787dfd
KC
9122004-01-15 Kelley Cook <kcook@gcc.gnu.org>
913
914 * Make-lang.in (c++.srcextra): Dummy entry.
915
0d956474
GB
9162004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
917
918 PR c++/8856
a6f78652 919 * parser.c (cp_parser_template_name): Don't try to parse a
0d956474
GB
920 conversion-function-id, as it cannot be a template-name.
921 (cp_parser_simple_type_specifier): Check for invalid template-ids
922 even after a built-in type.
923
7ec4deda
JH
9242004-01-14 Jan Hubicka <jh@suse.cz>
925
926 PR c++/12850
927 * pt.c (instantiate_decl): Do not increase function_depth.
928
e0fed25b
DS
9292004-01-14 Danny Smith <dannysmith@users,sourceforge.net>
930
931 PR c++/9021
932 PR c++/11005
933 * parser.c (cp_parser_elaborated_type_specifier): Warn about
934 attributes and discard.
935 * decl.c (xref_tag): Don't overwite existing attributes with
936 NULL_TREE.
937
fd6e3cce
GB
9382004-01-14 Giovanni Bajo <giovannibajo@gcc.gnu.org>
939
940 PR c++/12335
941 * parser.c (cp_parser_lookup_name): Return error_mark_node if there
942 is no destructor while looking up a BIT_NOT_EXPR.
943
f18056ff
ILT
9442004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
945
946 * cxxfilt.c: Remove unused file.
947
d34cb6a1
JH
9482004-01-14 Jan Hubicka <jh@suse.cz>
949
950 Partial fix to PR c++/12850
951 * decl2.c (mark_used): Do not proactively instantiate templates
952 when compiling in unit-at-a-time or not optimizing.
953 * optimize.c (maybe_clone_body): Do not increase function depth.
954
cdf4ac6f
GB
9552004-01-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
956
957 PR c++/13474
958 * pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
959
fdd09134
SB
9602003-01-12 Steven Bosscher <stevenb@suse.de>
961
962 PR c++/13558
963 * parser.c (cp_parser_member_declaration): Any non-type is also
964 not a class or a function.
965
7b25f6e5
JM
9662004-01-12 Jason Merrill <jason@redhat.com>
967
968 PR c++/12815
969 * class.c (build_base_path): Do not mark vtable references as
970 TREE_CONSTANT.
971 (build_vtbl_ref_1): Likewise.
972
25ebb82a
RH
9732004-01-12 Richard Henderson <rth@redhat.com>
974
975 PR opt/10776
976 * typeck2.c (split_nonconstant_init_1, split_nonconstant_init): New.
977 (store_init_value): Use it.
978 * decl.c (check_initializer): Expect full initialization code
979 from store_init_value.
980 * init.c (expand_aggr_init_1): Likewise.
981 * decl2.c (maybe_emit_vtables): Abort if runtime init needed.
982
4f0a2b81
MM
9832004-01-12 Mark Mitchell <mark@codesourcery.com>
984
985 * class.c (layout_class_type): For non-POD class types, also copy
986 the DECL_SIZE and DECL_MODE of fields to the base class type.
987
66e0c440
KL
9882004-01-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
989
990 PR c++/13289
991 * pt.c (instantiate_decl): Set DECL_TEMPLATE_INSTANTIATED before
992 calling regenerate_decl_from_template.
993
0426c4ca
SB
9942004-01-12 Scott Brumbaugh <scottb.lists@verizon.net>
995
996 PR c++/4100
997 * parser.c (cp_parser_decl_specifier_seq): Add check for a friend
998 decl-specifier occurring along with a class definition.
999
543ca912
ILT
10002004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
1001
1002 * parser.c (cp_parser_decl_specifier_seq): Add parenthetical
1003 clauses to comments describing declares_class_or_enum.
1004 (cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
1005 false.
1006
c1e39976
JH
10072004-01-12 Jan Hubicka <jh@suse.cz>
1008
1009 * pt.c (for_each_template_parm): Do not check for duplicates.
1010 (for_each_template_parm): Use walk_tree duplicate checking code.
1011
e90c7b84
ILT
10122004-01-11 Ian Lance Taylor <ian@wasabisystems.com>
1013
1014 PR c++/3478
1015 * parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
1016 is error_mark_node, don't add any more decl_specs.
1017 (cp_parser_init_declarator): After committing to a declaration, if
1018 the decl_specifiers start with error_mark_node, issue an error and
1019 change the type to "int".
1020
c90501d0
NN
10212004-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
1022
1023 PR bootstrap/7817
1024 * Make-lang.in: Copy gcc.1 to g++.1 rather than using .so.
1025
cfb91b67
GB
10262004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1027
1028 DR 337
1029 PR c++/9256
a6f78652 1030 * pt.c (tsubst): Substitution must fail if we are attempting to
cfb91b67
GB
1031 create an array with element type that is an abstract class type.
1032 * decl.c (cp_finish_decl): Strip pointers and array types recursively
1033 before calling abstract_virtuals_error.
1034
c404ab02
AO
10352004-01-09 Alexandre Oliva <aoliva@redhat.com>
1036
1037 * name-lookup.c (qualified_lookup_using_namespace): Consider
1038 strong using directives even if we've already found a binding.
1039
0fab64a3
MM
10402004-01-09 Mark Mitchell <mark@codesourcery.com>
1041
1042 * cp-tree.h (cxx_expand_expr): Change prototype.
1043 * expr.c (cxx_expand_expr): Add alt_rtl parameter.
1044
3d5ddced
GB
10452004-01-08 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1046
1047 PR c++/12573
1048 * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
1049 looking into them recursively. They can be there because of the
1050 new __offsetof__ extension.
1051
7ce27103
ZW
10522004-01-07 Zack Weinberg <zack@codesourcery.com>
1053
1054 * parser.c (cp_parser_save_member_function_body): Mark the
1055 definition static.
1056
88081599
MM
10572004-01-05 Mark Mitchell <mark@codesourcery.com>
1058
221bfb03
MM
1059 PR c++/13057
1060 * class.c (build_clone): Copy type attributes from the original
1061 function to the clone.
7ce27103 1062
856363c8 1063 PR c++/12815
962c0823
MM
1064 * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
1065 references as constant.
1066
216bb6e1
MM
1067 PR c++/12132
1068 * parser.c (cp_parser_explicit_instantiation): Improve error
1069 recovery.
1070 (cp_parser_require): Improve indication of the error location.
1071
88081599
MM
1072 PR c++/13451
1073 * parser.c (cp_parser_class_head): Reorder logic to check for
1074 invalid qualification.
1075
543ebd4a
MM
10762004-01-04 Mark Mitchell <mark@codesourcery.com>
1077
1078 PR c++/13157
1079 * name-lookup.c (lookup_using_namespace): Remove spacesp
1080 parameter.
1081 (unqualified_namespace_lookup): Likewise.
1082 (lookup_qualified_name): Adjust accordingly.
1083 (lookup_name_real): Likewise.
1084 (lookup_arg_dependent): Do not eliminate the namespace of the
1085 functions found by unqualified name lookup unless that is the
1086 current namespace.
1087
572c2b17
AP
10882004-01-04 Andrew Pinski <pinskia@physics.uc.edu>
1089
1090 * semantics.c (push_deferring_access_checks): Fix format.
1091 (resume_deferring_access_checks): Likewise.
1092 (stop_deferring_access_checks): Likewise.
1093 (pop_deferring_access_checks): Likewise.
1094 (get_deferred_access_checks): Likewise.
1095 (pop_to_parent_deferring_access_checks): Likewise.
1096 (perform_deferred_access_checks): Likewise.
1097 (perform_or_defer_access_check): Likewise.
1098
88401f73
RH
10992004-01-04 Richard Henderson <rth@redhat.com>
1100
1101 * call.c (build_over_call): Don't create a save_expr of an
1102 aggregate, but rather its address.
1103
4f8163b1
MM
11042004-01-04 Mark Mitchell <mark@codesourcery.com>
1105
955d0234
MM
1106 PR c++/13529
1107 * parser.c (cp_parser_postfix_expression): Allow "." to appear in
1108 an offsetof expression.
1109
643aee72
MM
1110 * parser.c (cp_parser_parameter_declaration): Fix comment.
1111
4f8163b1
MM
1112 PR c++/12226
1113 * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
1114 (reference_binding): Set it when appropriate.
1115 (build_temp): New function, split out from ...
1116 (convert_like_real): ... here. Honor CHECK_COPY_CONSTRUCTOR_P.
1117 (initialize_reference): Likewise.
1118
1119 PR c++/13536
1120 * parser.c (cp_parser): Add in_type_id_in_expr_p.
1121 (cp_parser_new): Initialize it.
1122 (cp_parser_postfix_expression): Set it.
1123 (cp_parser_sizeof_operand): Likewise.
1124 (cp_parser_parameteR_declaration): Do not commit early to tenative
1125 parsers when in_type_id_in_expr_p is set.
1126
5b4acce1
KL
11272004-01-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1128
1129 PR c++/13094
1130 * parser.c (cp_parser_template_argument): Don't call
1131 make_unbound_class_template directly.
1132 (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
1133 UNBOUND_CLASS_TEMPLATE tree node.
1134
8748dc22
RS
11352004-01-02 Richard Sandiford <rsandifo@redhat.com>
1136
1137 PR target/12729
1138 * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
1139
b0bc6e8e
KL
11402004-01-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1141
1142 PR c++/13520
1143 * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
1144 (DECL_FUNCTION_TEMPLATE_P): Use it.
1145 (DECL_CLASS_TEMPLATE_P): Likewise.
1146 * parser.c (cp_parser_lookup_name): Add is_template parameter.
1147 (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
1148 (cp_parser_template_name): Likewise.
1149 (cp_parser_elaborated_type_specifier): Likewise.
1150 (cp_parser_namespace_name): Likewise.
1151 (cp_parser_class_name): Likewise.
1152 (cp_parser_lookup_name_simple): Likewise.
58496de1 1153
837b8417 1154See ChangeLog.3 for earlier changes.
This page took 0.251014 seconds and 5 git commands to generate.