1 2004-01-15 Alexandre Oliva <aoliva@redhat.com>
4 * name-lookup.c (validate_nonmember_using_decl): Take scope and
5 name by value, instead of computing them.
6 (do_local_using_decl, do_toplevel_using_decl): Add scope and name
7 arguments. Pass them to validate_nonmember_using_decl.
8 * name-lookup.h (do_local_using_decl): Adjust.
9 (do_toplevel_using_decl): Likewise.
10 * parser.c (cp_parser_using_declaration): Likewise.
11 * pt.c (tsubst_expr): Likewise.
13 2004-01-15 Alexandre Oliva <aoliva@redhat.com>
17 * name-lookup.c (qualified_lookup_using_namespace): Search
18 strongly-associated namespaces first, and only then try other
21 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
23 * Make-lang.in (c++.srcextra): Dummy entry.
25 2004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
28 * parser.c (cp_parser_template_name): Don't try to parse a
29 conversion-function-id, as it cannot be a template-name.
30 (cp_parser_simple_type_specifier): Check for invalid template-ids
31 even after a built-in type.
33 2004-01-14 Jan Hubicka <jh@suse.cz>
36 * pt.c (instantiate_decl): Do not increase function_depth.
38 2004-01-14 Danny Smith <dannysmith@users,sourceforge.net>
42 * parser.c (cp_parser_elaborated_type_specifier): Warn about
43 attributes and discard.
44 * decl.c (xref_tag): Don't overwite existing attributes with
47 2004-01-14 Giovanni Bajo <giovannibajo@gcc.gnu.org>
50 * parser.c (cp_parser_lookup_name): Return error_mark_node if there
51 is no destructor while looking up a BIT_NOT_EXPR.
53 2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
55 * cxxfilt.c: Remove unused file.
57 2004-01-14 Jan Hubicka <jh@suse.cz>
59 Partial fix to PR c++/12850
60 * decl2.c (mark_used): Do not proactively instantiate templates
61 when compiling in unit-at-a-time or not optimizing.
62 * optimize.c (maybe_clone_body): Do not increase function depth.
64 2004-01-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
67 * pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
69 2003-01-12 Steven Bosscher <stevenb@suse.de>
72 * parser.c (cp_parser_member_declaration): Any non-type is also
73 not a class or a function.
75 2004-01-12 Jason Merrill <jason@redhat.com>
78 * class.c (build_base_path): Do not mark vtable references as
80 (build_vtbl_ref_1): Likewise.
82 2004-01-12 Richard Henderson <rth@redhat.com>
85 * typeck2.c (split_nonconstant_init_1, split_nonconstant_init): New.
86 (store_init_value): Use it.
87 * decl.c (check_initializer): Expect full initialization code
88 from store_init_value.
89 * init.c (expand_aggr_init_1): Likewise.
90 * decl2.c (maybe_emit_vtables): Abort if runtime init needed.
92 2004-01-12 Mark Mitchell <mark@codesourcery.com>
94 * class.c (layout_class_type): For non-POD class types, also copy
95 the DECL_SIZE and DECL_MODE of fields to the base class type.
97 2004-01-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
100 * pt.c (instantiate_decl): Set DECL_TEMPLATE_INSTANTIATED before
101 calling regenerate_decl_from_template.
103 2004-01-12 Scott Brumbaugh <scottb.lists@verizon.net>
106 * parser.c (cp_parser_decl_specifier_seq): Add check for a friend
107 decl-specifier occurring along with a class definition.
109 2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
111 * parser.c (cp_parser_decl_specifier_seq): Add parenthetical
112 clauses to comments describing declares_class_or_enum.
113 (cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
116 2004-01-12 Jan Hubicka <jh@suse.cz>
118 * pt.c (for_each_template_parm): Do not check for duplicates.
119 (for_each_template_parm): Use walk_tree duplicate checking code.
121 2004-01-11 Ian Lance Taylor <ian@wasabisystems.com>
124 * parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
125 is error_mark_node, don't add any more decl_specs.
126 (cp_parser_init_declarator): After committing to a declaration, if
127 the decl_specifiers start with error_mark_node, issue an error and
128 change the type to "int".
130 2004-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
133 * Make-lang.in: Copy gcc.1 to g++.1 rather than using .so.
135 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
139 * pt.c (tsubst): Substitution must fail if we are attempting to
140 create an array with element type that is an abstract class type.
141 * decl.c (cp_finish_decl): Strip pointers and array types recursively
142 before calling abstract_virtuals_error.
144 2004-01-09 Alexandre Oliva <aoliva@redhat.com>
146 * name-lookup.c (qualified_lookup_using_namespace): Consider
147 strong using directives even if we've already found a binding.
149 2004-01-09 Mark Mitchell <mark@codesourcery.com>
151 * cp-tree.h (cxx_expand_expr): Change prototype.
152 * expr.c (cxx_expand_expr): Add alt_rtl parameter.
154 2004-01-08 Giovanni Bajo <giovannibajo@gcc.gnu.org>
157 * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
158 looking into them recursively. They can be there because of the
159 new __offsetof__ extension.
161 2004-01-07 Zack Weinberg <zack@codesourcery.com>
163 * parser.c (cp_parser_save_member_function_body): Mark the
166 2004-01-05 Mark Mitchell <mark@codesourcery.com>
169 * class.c (build_clone): Copy type attributes from the original
170 function to the clone.
173 * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
174 references as constant.
177 * parser.c (cp_parser_explicit_instantiation): Improve error
179 (cp_parser_require): Improve indication of the error location.
182 * parser.c (cp_parser_class_head): Reorder logic to check for
183 invalid qualification.
185 2004-01-04 Mark Mitchell <mark@codesourcery.com>
188 * name-lookup.c (lookup_using_namespace): Remove spacesp
190 (unqualified_namespace_lookup): Likewise.
191 (lookup_qualified_name): Adjust accordingly.
192 (lookup_name_real): Likewise.
193 (lookup_arg_dependent): Do not eliminate the namespace of the
194 functions found by unqualified name lookup unless that is the
197 2004-01-04 Andrew Pinski <pinskia@physics.uc.edu>
199 * semantics.c (push_deferring_access_checks): Fix format.
200 (resume_deferring_access_checks): Likewise.
201 (stop_deferring_access_checks): Likewise.
202 (pop_deferring_access_checks): Likewise.
203 (get_deferred_access_checks): Likewise.
204 (pop_to_parent_deferring_access_checks): Likewise.
205 (perform_deferred_access_checks): Likewise.
206 (perform_or_defer_access_check): Likewise.
208 2004-01-04 Richard Henderson <rth@redhat.com>
210 * call.c (build_over_call): Don't create a save_expr of an
211 aggregate, but rather its address.
213 2004-01-04 Mark Mitchell <mark@codesourcery.com>
216 * parser.c (cp_parser_postfix_expression): Allow "." to appear in
217 an offsetof expression.
219 * parser.c (cp_parser_parameter_declaration): Fix comment.
222 * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
223 (reference_binding): Set it when appropriate.
224 (build_temp): New function, split out from ...
225 (convert_like_real): ... here. Honor CHECK_COPY_CONSTRUCTOR_P.
226 (initialize_reference): Likewise.
229 * parser.c (cp_parser): Add in_type_id_in_expr_p.
230 (cp_parser_new): Initialize it.
231 (cp_parser_postfix_expression): Set it.
232 (cp_parser_sizeof_operand): Likewise.
233 (cp_parser_parameteR_declaration): Do not commit early to tenative
234 parsers when in_type_id_in_expr_p is set.
236 2004-01-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
239 * parser.c (cp_parser_template_argument): Don't call
240 make_unbound_class_template directly.
241 (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
242 UNBOUND_CLASS_TEMPLATE tree node.
244 2004-01-02 Richard Sandiford <rsandifo@redhat.com>
247 * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
249 2004-01-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
252 * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
253 (DECL_FUNCTION_TEMPLATE_P): Use it.
254 (DECL_CLASS_TEMPLATE_P): Likewise.
255 * parser.c (cp_parser_lookup_name): Add is_template parameter.
256 (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
257 (cp_parser_template_name): Likewise.
258 (cp_parser_elaborated_type_specifier): Likewise.
259 (cp_parser_namespace_name): Likewise.
260 (cp_parser_class_name): Likewise.
261 (cp_parser_lookup_name_simple): Likewise.
263 See ChangeLog.3 for earlier changes.