re PR c++/13057 (regparm attribute not applied to destructor)
[official-gcc.git] / gcc / cp / ChangeLog
blob49022241678115bc78c574336e02bdd93dffacf9
1 2004-01-05  Mark Mitchell  <mark@codesourcery.com>
3         PR c++/13057
4         * class.c (build_clone): Copy type attributes from the original
5         function to the clone.
6         
7         PR c++/12815
8         * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
9         references as constant.
11         PR c++/12132
12         * parser.c (cp_parser_explicit_instantiation): Improve error
13         recovery.
14         (cp_parser_require): Improve indication of the error location.
16         PR c++/13451
17         * parser.c (cp_parser_class_head): Reorder logic to check for
18         invalid qualification.
20 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
22         PR c++/13157
23         * name-lookup.c (lookup_using_namespace): Remove spacesp
24         parameter.
25         (unqualified_namespace_lookup): Likewise.
26         (lookup_qualified_name): Adjust accordingly.
27         (lookup_name_real): Likewise.
28         (lookup_arg_dependent): Do not eliminate the namespace of the
29         functions found by unqualified name lookup unless that is the
30         current namespace.
32 2004-01-04  Andrew Pinski  <pinskia@physics.uc.edu>
34         * semantics.c (push_deferring_access_checks): Fix format.
35         (resume_deferring_access_checks): Likewise.
36         (stop_deferring_access_checks): Likewise.
37         (pop_deferring_access_checks): Likewise.
38         (get_deferred_access_checks): Likewise.
39         (pop_to_parent_deferring_access_checks): Likewise.
40         (perform_deferred_access_checks): Likewise.
41         (perform_or_defer_access_check): Likewise.
43 2004-01-04  Richard Henderson  <rth@redhat.com>
45         * call.c (build_over_call): Don't create a save_expr of an
46         aggregate, but rather its address.
48 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
50         PR c++/13529
51         * parser.c (cp_parser_postfix_expression): Allow "." to appear in
52         an offsetof expression.
54         * parser.c (cp_parser_parameter_declaration): Fix comment.
56         PR c++/12226
57         * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
58         (reference_binding): Set it when appropriate.
59         (build_temp): New function, split out from ...
60         (convert_like_real): ... here.  Honor CHECK_COPY_CONSTRUCTOR_P.
61         (initialize_reference): Likewise.
63         PR c++/13536
64         * parser.c (cp_parser): Add in_type_id_in_expr_p.
65         (cp_parser_new): Initialize it.
66         (cp_parser_postfix_expression): Set it.
67         (cp_parser_sizeof_operand): Likewise.
68         (cp_parser_parameteR_declaration): Do not commit early to tenative
69         parsers when in_type_id_in_expr_p is set.
71 2004-01-03  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
73         PR c++/13094
74         * parser.c (cp_parser_template_argument): Don't call
75         make_unbound_class_template directly.
76         (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
77         UNBOUND_CLASS_TEMPLATE tree node.
79 2004-01-02  Richard Sandiford  <rsandifo@redhat.com>
81         PR target/12729
82         * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
84 2004-01-02  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
86         PR c++/13520
87         * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
88         (DECL_FUNCTION_TEMPLATE_P): Use it.
89         (DECL_CLASS_TEMPLATE_P): Likewise.
90         * parser.c (cp_parser_lookup_name): Add is_template parameter.
91         (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
92         (cp_parser_template_name): Likewise.
93         (cp_parser_elaborated_type_specifier): Likewise.
94         (cp_parser_namespace_name): Likewise.
95         (cp_parser_class_name): Likewise.
96         (cp_parser_lookup_name_simple): Likewise.
98 See ChangeLog.3 for earlier changes.