1 2004-01-14 Giovanni Bajo <giovannibajo@gcc.gnu.org>
4 * parser.c (cp_parser_lookup_name): Return error_mark_node if there
5 is no destructor while looking up a BIT_NOT_EXPR.
7 2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
9 * cxxfilt.c: Remove unused file.
11 2004-01-14 Jan Hubicka <jh@suse.cz>
13 Partial fix to PR c++/12850
14 * decl2.c (mark_used): Do not proactively instantiate templates
15 when compiling in unit-at-a-time or not optimizing.
16 * optimize.c (maybe_clone_body): Do not increase function depth.
18 2004-01-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
21 * pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
23 2003-01-12 Steven Bosscher <stevenb@suse.de>
26 * parser.c (cp_parser_member_declaration): Any non-type is also
27 not a class or a function.
29 2004-01-12 Jason Merrill <jason@redhat.com>
32 * class.c (build_base_path): Do not mark vtable references as
34 (build_vtbl_ref_1): Likewise.
36 2004-01-12 Richard Henderson <rth@redhat.com>
39 * typeck2.c (split_nonconstant_init_1, split_nonconstant_init): New.
40 (store_init_value): Use it.
41 * decl.c (check_initializer): Expect full initialization code
42 from store_init_value.
43 * init.c (expand_aggr_init_1): Likewise.
44 * decl2.c (maybe_emit_vtables): Abort if runtime init needed.
46 2004-01-12 Mark Mitchell <mark@codesourcery.com>
48 * class.c (layout_class_type): For non-POD class types, also copy
49 the DECL_SIZE and DECL_MODE of fields to the base class type.
51 2004-01-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
54 * pt.c (instantiate_decl): Set DECL_TEMPLATE_INSTANTIATED before
55 calling regenerate_decl_from_template.
57 2004-01-12 Scott Brumbaugh <scottb.lists@verizon.net>
60 * parser.c (cp_parser_decl_specifier_seq): Add check for a friend
61 decl-specifier occurring along with a class definition.
63 2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
65 * parser.c (cp_parser_decl_specifier_seq): Add parenthetical
66 clauses to comments describing declares_class_or_enum.
67 (cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
70 2004-01-12 Jan Hubicka <jh@suse.cz>
72 * pt.c (for_each_template_parm): Do not check for duplicates.
73 (for_each_template_parm): Use walk_tree duplicate checking code.
75 2004-01-11 Ian Lance Taylor <ian@wasabisystems.com>
78 * parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
79 is error_mark_node, don't add any more decl_specs.
80 (cp_parser_init_declarator): After committing to a declaration, if
81 the decl_specifiers start with error_mark_node, issue an error and
82 change the type to "int".
84 2004-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
87 * Make-lang.in: Copy gcc.1 to g++.1 rather than using .so.
89 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
93 * pt.c (tsubst): Substitution must fail if we are attempting to
94 create an array with element type that is an abstract class type.
95 * decl.c (cp_finish_decl): Strip pointers and array types recursively
96 before calling abstract_virtuals_error.
98 2004-01-09 Alexandre Oliva <aoliva@redhat.com>
100 * name-lookup.c (qualified_lookup_using_namespace): Consider
101 strong using directives even if we've already found a binding.
103 2004-01-09 Mark Mitchell <mark@codesourcery.com>
105 * cp-tree.h (cxx_expand_expr): Change prototype.
106 * expr.c (cxx_expand_expr): Add alt_rtl parameter.
108 2004-01-08 Giovanni Bajo <giovannibajo@gcc.gnu.org>
111 * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
112 looking into them recursively. They can be there because of the
113 new __offsetof__ extension.
115 2004-01-07 Zack Weinberg <zack@codesourcery.com>
117 * parser.c (cp_parser_save_member_function_body): Mark the
120 2004-01-05 Mark Mitchell <mark@codesourcery.com>
123 * class.c (build_clone): Copy type attributes from the original
124 function to the clone.
127 * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
128 references as constant.
131 * parser.c (cp_parser_explicit_instantiation): Improve error
133 (cp_parser_require): Improve indication of the error location.
136 * parser.c (cp_parser_class_head): Reorder logic to check for
137 invalid qualification.
139 2004-01-04 Mark Mitchell <mark@codesourcery.com>
142 * name-lookup.c (lookup_using_namespace): Remove spacesp
144 (unqualified_namespace_lookup): Likewise.
145 (lookup_qualified_name): Adjust accordingly.
146 (lookup_name_real): Likewise.
147 (lookup_arg_dependent): Do not eliminate the namespace of the
148 functions found by unqualified name lookup unless that is the
151 2004-01-04 Andrew Pinski <pinskia@physics.uc.edu>
153 * semantics.c (push_deferring_access_checks): Fix format.
154 (resume_deferring_access_checks): Likewise.
155 (stop_deferring_access_checks): Likewise.
156 (pop_deferring_access_checks): Likewise.
157 (get_deferred_access_checks): Likewise.
158 (pop_to_parent_deferring_access_checks): Likewise.
159 (perform_deferred_access_checks): Likewise.
160 (perform_or_defer_access_check): Likewise.
162 2004-01-04 Richard Henderson <rth@redhat.com>
164 * call.c (build_over_call): Don't create a save_expr of an
165 aggregate, but rather its address.
167 2004-01-04 Mark Mitchell <mark@codesourcery.com>
170 * parser.c (cp_parser_postfix_expression): Allow "." to appear in
171 an offsetof expression.
173 * parser.c (cp_parser_parameter_declaration): Fix comment.
176 * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
177 (reference_binding): Set it when appropriate.
178 (build_temp): New function, split out from ...
179 (convert_like_real): ... here. Honor CHECK_COPY_CONSTRUCTOR_P.
180 (initialize_reference): Likewise.
183 * parser.c (cp_parser): Add in_type_id_in_expr_p.
184 (cp_parser_new): Initialize it.
185 (cp_parser_postfix_expression): Set it.
186 (cp_parser_sizeof_operand): Likewise.
187 (cp_parser_parameteR_declaration): Do not commit early to tenative
188 parsers when in_type_id_in_expr_p is set.
190 2004-01-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
193 * parser.c (cp_parser_template_argument): Don't call
194 make_unbound_class_template directly.
195 (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
196 UNBOUND_CLASS_TEMPLATE tree node.
198 2004-01-02 Richard Sandiford <rsandifo@redhat.com>
201 * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
203 2004-01-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
206 * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
207 (DECL_FUNCTION_TEMPLATE_P): Use it.
208 (DECL_CLASS_TEMPLATE_P): Likewise.
209 * parser.c (cp_parser_lookup_name): Add is_template parameter.
210 (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
211 (cp_parser_template_name): Likewise.
212 (cp_parser_elaborated_type_specifier): Likewise.
213 (cp_parser_namespace_name): Likewise.
214 (cp_parser_class_name): Likewise.
215 (cp_parser_lookup_name_simple): Likewise.
217 See ChangeLog.3 for earlier changes.