1 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
3 * Make-lang.in (c++.srcextra): Dummy entry.
5 2004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
8 * parser.c (cp_parser_template_name): Don't try to parse a
9 conversion-function-id, as it cannot be a template-name.
10 (cp_parser_simple_type_specifier): Check for invalid template-ids
11 even after a built-in type.
13 2004-01-14 Jan Hubicka <jh@suse.cz>
16 * pt.c (instantiate_decl): Do not increase function_depth.
18 2004-01-14 Danny Smith <dannysmith@users,sourceforge.net>
22 * parser.c (cp_parser_elaborated_type_specifier): Warn about
23 attributes and discard.
24 * decl.c (xref_tag): Don't overwite existing attributes with
27 2004-01-14 Giovanni Bajo <giovannibajo@gcc.gnu.org>
30 * parser.c (cp_parser_lookup_name): Return error_mark_node if there
31 is no destructor while looking up a BIT_NOT_EXPR.
33 2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
35 * cxxfilt.c: Remove unused file.
37 2004-01-14 Jan Hubicka <jh@suse.cz>
39 Partial fix to PR c++/12850
40 * decl2.c (mark_used): Do not proactively instantiate templates
41 when compiling in unit-at-a-time or not optimizing.
42 * optimize.c (maybe_clone_body): Do not increase function depth.
44 2004-01-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
47 * pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
49 2003-01-12 Steven Bosscher <stevenb@suse.de>
52 * parser.c (cp_parser_member_declaration): Any non-type is also
53 not a class or a function.
55 2004-01-12 Jason Merrill <jason@redhat.com>
58 * class.c (build_base_path): Do not mark vtable references as
60 (build_vtbl_ref_1): Likewise.
62 2004-01-12 Richard Henderson <rth@redhat.com>
65 * typeck2.c (split_nonconstant_init_1, split_nonconstant_init): New.
66 (store_init_value): Use it.
67 * decl.c (check_initializer): Expect full initialization code
68 from store_init_value.
69 * init.c (expand_aggr_init_1): Likewise.
70 * decl2.c (maybe_emit_vtables): Abort if runtime init needed.
72 2004-01-12 Mark Mitchell <mark@codesourcery.com>
74 * class.c (layout_class_type): For non-POD class types, also copy
75 the DECL_SIZE and DECL_MODE of fields to the base class type.
77 2004-01-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
80 * pt.c (instantiate_decl): Set DECL_TEMPLATE_INSTANTIATED before
81 calling regenerate_decl_from_template.
83 2004-01-12 Scott Brumbaugh <scottb.lists@verizon.net>
86 * parser.c (cp_parser_decl_specifier_seq): Add check for a friend
87 decl-specifier occurring along with a class definition.
89 2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
91 * parser.c (cp_parser_decl_specifier_seq): Add parenthetical
92 clauses to comments describing declares_class_or_enum.
93 (cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
96 2004-01-12 Jan Hubicka <jh@suse.cz>
98 * pt.c (for_each_template_parm): Do not check for duplicates.
99 (for_each_template_parm): Use walk_tree duplicate checking code.
101 2004-01-11 Ian Lance Taylor <ian@wasabisystems.com>
104 * parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
105 is error_mark_node, don't add any more decl_specs.
106 (cp_parser_init_declarator): After committing to a declaration, if
107 the decl_specifiers start with error_mark_node, issue an error and
108 change the type to "int".
110 2004-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
113 * Make-lang.in: Copy gcc.1 to g++.1 rather than using .so.
115 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
119 * pt.c (tsubst): Substitution must fail if we are attempting to
120 create an array with element type that is an abstract class type.
121 * decl.c (cp_finish_decl): Strip pointers and array types recursively
122 before calling abstract_virtuals_error.
124 2004-01-09 Alexandre Oliva <aoliva@redhat.com>
126 * name-lookup.c (qualified_lookup_using_namespace): Consider
127 strong using directives even if we've already found a binding.
129 2004-01-09 Mark Mitchell <mark@codesourcery.com>
131 * cp-tree.h (cxx_expand_expr): Change prototype.
132 * expr.c (cxx_expand_expr): Add alt_rtl parameter.
134 2004-01-08 Giovanni Bajo <giovannibajo@gcc.gnu.org>
137 * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
138 looking into them recursively. They can be there because of the
139 new __offsetof__ extension.
141 2004-01-07 Zack Weinberg <zack@codesourcery.com>
143 * parser.c (cp_parser_save_member_function_body): Mark the
146 2004-01-05 Mark Mitchell <mark@codesourcery.com>
149 * class.c (build_clone): Copy type attributes from the original
150 function to the clone.
153 * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
154 references as constant.
157 * parser.c (cp_parser_explicit_instantiation): Improve error
159 (cp_parser_require): Improve indication of the error location.
162 * parser.c (cp_parser_class_head): Reorder logic to check for
163 invalid qualification.
165 2004-01-04 Mark Mitchell <mark@codesourcery.com>
168 * name-lookup.c (lookup_using_namespace): Remove spacesp
170 (unqualified_namespace_lookup): Likewise.
171 (lookup_qualified_name): Adjust accordingly.
172 (lookup_name_real): Likewise.
173 (lookup_arg_dependent): Do not eliminate the namespace of the
174 functions found by unqualified name lookup unless that is the
177 2004-01-04 Andrew Pinski <pinskia@physics.uc.edu>
179 * semantics.c (push_deferring_access_checks): Fix format.
180 (resume_deferring_access_checks): Likewise.
181 (stop_deferring_access_checks): Likewise.
182 (pop_deferring_access_checks): Likewise.
183 (get_deferred_access_checks): Likewise.
184 (pop_to_parent_deferring_access_checks): Likewise.
185 (perform_deferred_access_checks): Likewise.
186 (perform_or_defer_access_check): Likewise.
188 2004-01-04 Richard Henderson <rth@redhat.com>
190 * call.c (build_over_call): Don't create a save_expr of an
191 aggregate, but rather its address.
193 2004-01-04 Mark Mitchell <mark@codesourcery.com>
196 * parser.c (cp_parser_postfix_expression): Allow "." to appear in
197 an offsetof expression.
199 * parser.c (cp_parser_parameter_declaration): Fix comment.
202 * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
203 (reference_binding): Set it when appropriate.
204 (build_temp): New function, split out from ...
205 (convert_like_real): ... here. Honor CHECK_COPY_CONSTRUCTOR_P.
206 (initialize_reference): Likewise.
209 * parser.c (cp_parser): Add in_type_id_in_expr_p.
210 (cp_parser_new): Initialize it.
211 (cp_parser_postfix_expression): Set it.
212 (cp_parser_sizeof_operand): Likewise.
213 (cp_parser_parameteR_declaration): Do not commit early to tenative
214 parsers when in_type_id_in_expr_p is set.
216 2004-01-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
219 * parser.c (cp_parser_template_argument): Don't call
220 make_unbound_class_template directly.
221 (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
222 UNBOUND_CLASS_TEMPLATE tree node.
224 2004-01-02 Richard Sandiford <rsandifo@redhat.com>
227 * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
229 2004-01-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
232 * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
233 (DECL_FUNCTION_TEMPLATE_P): Use it.
234 (DECL_CLASS_TEMPLATE_P): Likewise.
235 * parser.c (cp_parser_lookup_name): Add is_template parameter.
236 (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
237 (cp_parser_template_name): Likewise.
238 (cp_parser_elaborated_type_specifier): Likewise.
239 (cp_parser_namespace_name): Likewise.
240 (cp_parser_class_name): Likewise.
241 (cp_parser_lookup_name_simple): Likewise.
243 See ChangeLog.3 for earlier changes.