re PR c++/13081 (forward template declarations in <complex> let inlining fail)
[gcc.git] / gcc / cp / ChangeLog
index 1ab083a2e5c92728af02ede6e7a7efb03409162e..62e395a007a26ece59ca42547cab4be12969e920 100644 (file)
@@ -1,3 +1,169 @@
+2003-12-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/13081
+       * decl.c (duplicate_decls): Preserve inline-ness when redeclaring
+       a function template.
+
+       PR c++/12613
+       * decl.c (reshape_init): Reject GNU colon-style designated
+       initializers in arrays.
+
+       PR c++/13009
+       * call.c (build_special_member_call): Do not assume that we have a
+       pointer to the complete object in an assignment operator.
+
+2003-12-28  Roger Sayle  <roger@eyesopen.com>
+
+       PR c++/13070
+       * decl.c (duplicate_decls): When setting the type of an anticipated
+       declaration, merge the existing type attributes.
+
+2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c++/13268, c++/13339
+       * class.c (add_method): Return early when method is error_mark_node.
+       * pt.c (tsubst_friend_function): Return early when new_friend is
+       error_mark_node.
+
+2003-12-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-lang.c (cp_expr_size): Return zero for empty classes.
+
+       * cp-tree.h (warn_if_uknown_interface): Remove unused function.
+       * decl2.c (warn_if_unknown_interface): Likewise.
+
+2003-12-23  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/13387
+       * cp-lang.c (cxx_get_alias_set): Correct logic for a base type.
+
+2003-12-22  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (start_function): Do not check
+       flag_alt_external_templates or flag_external_templates.
+       * decl2.c (warn_if_unknown_interface): Likewise.
+       * lex.c (extract_interface_info): Likewise.
+       * pt.c (lookup_template_class): Likewise.
+
+       PR c++/12862
+       * name-lookup.c (pushdecl): Look up all namespace-scope entities
+       in their corresponding namespace.
+
+       PR c++/12397
+       * typeck.c (finish_class_member_access_expr): Don't tree
+       IDENTIFIER_NODEs as non-dependent expressions.
+
+2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c++/5050
+        * tree.c (cp_start_inlining): Remove.
+        (cp_end_inlining): Remove.
+        * cp-lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING): Do not define.
+        (LANG_HOOKS_TREE_INLINING_END_INLINING): Do not define.
+        * cp-tree.h (cp_start_inlining): Do not declare.
+        (cp_end_inlining): Do not declare.
+
+2003-12-22  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12479
+       * parser.c (cp_parser_declaration_seq_opt): Only issue "extra ;"
+       pedwarn when not in a system header.
+
+2003-12-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (cp_tree_index): Remove CPTI_RECORD_TYPE,
+       CPTI_UNION_TYPE, CPTI_ENUM_TYPE.
+       (record_type_node): Remove.
+       (union_type_node): Likewise.
+       (enum_type_node): Likewise.
+       * decl.c: Remove mention of above tree nodes in comment.
+       * lex.c (cxx_init): Do not assign to record_type_node,
+       union_type_node, or enum_type_node.  Simplify handling of
+       class_type_node.
+
+       PR c++/11554
+       * init.c (sort_mem_initializers): Add warning.
+
+2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * call.c: Fix comment formatting.
+       * class.c: Likewise.
+       * cp-tree.h: Likewise.
+       * cvt.c: Likewise.
+       * cxx-pretty-print.c: Likewise.
+       * decl.c: Likewise.
+       * decl2.c: Likewise.
+       * error.c: Likewise.
+       * except.c: Likewise.
+       * init.c: Likewise.
+       * name-lookup.c: Likewise.
+       * parser.c: Likewise.
+       * pt.c: Likewise.
+       * rtti.c: Likewise.
+       * semantics.c: Likewise.
+       * typeck.c: Likewise.
+       * typeck2.c: Likewise.
+
+2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cvt.c: Remove uses of "register" specifier in
+       declarations of arguments and local variables.
+       * decl.c: Likewise.
+       * decl2.c: Likewise.
+       * expr.c: Likewise.
+       * friend.c: Likewise.
+       * lex.c: Likewise.
+       * name-lookup.c: Likewise.
+       * repo.c: Likewise.
+       * search.c: Likewise.
+       * tree.c: Likewise.
+       * typeck.c: Likewise.
+       * typeck2.c: Likewise.
+
+2003-12-19  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12795
+       * name-lookup.c (pushdecl): Do not treated any functions as being
+       "nested" in C++.
+
+2003-12-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/13371
+       * typeck.c (build_modify_expr): Stabilize lhs if we're narrowing.
+       * cvt.c (convert_to_void): Don't warn about the RHS of a comma
+       being useless if TREE_NO_UNUSED_WARNING is set.
+
+2003-12-18  Richard Henderson  <rth@redhat.com>
+
+       * cp-tree.h (struct lang_type_header): Remove __extension__.
+
+2003-12-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/12253
+       * init.c (build_vec_init): Initialization of an element from
+       an initializer list is also a full-expression.
+
+       * parser.c, pt.c, semantics.c: Rename constant_expression_p
+       to integral_constant_expression_p.
+
+2003-12-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/13262
+       * pt.c (instantiate_decl): Wrap push_nested_class and
+       pop_nested_class around cp_finish_decl call for static member
+       variable.
+
+2003-12-18  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/9154
+       * parser.c (cp_parser_template_argument): A type-id followed by '>>'
+       is just an user typo, and should be accepted as last resort if any
+       other parsing fails.
+       (cp_parser_enclosed_template_argument_list): If the argument list is
+       parsed correctly, but the next token is '>>', emit a diagnostic.
+       (cp_parser_next_token_ends_template_argument): Accept '>>' as 
+       delimiter of template argument, it will be later detected as a typo.
+
 2003-12-17  Kelley Cook  <kcook@gcc.gnu.org>
 
        * Make-lang.in: Replace cp/g++.1 with $(docobjdir)/g++.1.
 2003-12-16  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
 
        PR c++/2294
-       * name-lookup.c (push_overloaded_decl): always construct an OVERLOAD\r
+       * name-lookup.c (push_overloaded_decl): always construct an OVERLOAD
        if the declaration comes from an using declaration.
 
 2003-12-16  Giovanni Bajo  <giovannibajo@gcc.gnu.org>