+2006-10-30 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/28669
+ * decl.c (grokfndecl): Duplicate warning message for
+ easier translation.
+
+2006-10-30 Dirk Mueller <dmueller@suse.de>
+
+ * typeck.c (build_unary_op): Fix indenting. Use G_().
+
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/29089
+ * typeck.c (build_unary_op): Duplicate warning message
+ for easier translation.
+
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/16307
+ * typeck.c (build_array_ref): Warn for char subscriptions
+ on pointers.
+
+2006-10-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c: Fix a comment typo.
+
+2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR C++/29295
+ * typeck.c (build_unary_op): Use same_type_p when comparing to
+ boolean type.
+
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/29033
+ * typeck.c (build_binary_op): Duplicate warning message
+ for better translation.
+
+2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
+
+ * decl.c (builtin_function_1): Move common code to
+ add_builtin_function.
+ (builtin_function): Rename to cxx_builtin_function.
+ Change the signature.
+ * call.c: Include langhooks.h.
+ (build_java_interface_fn_ref): Replace calls to
+ builtin_function with add_builtin_function.
+ * Make-lang.in (cp/call.o): Depend on langhooks.h.
+ * cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
+ cxx_builtin_function.
+ * cp-tree.h (builtin_function): Rename to cxx_builtin_function.
+ Change the signature.
+
+2006-10-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/20647
+ * rtti.c (tinfo_base_init): The type info string is always global.
+
+2006-10-20 Lee Millward <lee.millward@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28053
+ * decl2.c (grokbitfield): Detect invalid non-integral
+ types earlier when possible.
+
+2006-10-18 Mark Shinwell <shinwell@codesourcery.com>
+
+ PR c++/26884
+ * typeck2.c (digest_init): Raise error upon attempts to
+ initialize arrays with variables.
+
+2006-10-17 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/27952
+ * cp-tree.h (xref_basetypes): Return bool instead of void.
+ * decl.c (xref_basetypes): Adjust definition. Return false
+ if the class bases are invalid.
+ * parser.c (cp_parser_class_head): Check the return value
+ from xref_basetypes.
+
+2006-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28261
+ * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Add
+ comment.
+
+ PR c++/28261
+ * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): New
+ function.
+ (cp_parser_constructor_declarator_p): Use it.
+ (cp_parser_check_type_definition): Return a value indicating
+ whether or not the definition is valid.
+ (cp_parser_enum_specifier): Skip invalid enum definitions.
+
+2006-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29039
+ * typeck2.c (build_functional_cast): Don't zero-initialize
+ non-PODs; instead, call their constructors.
+ * method.c (synthesize_method): Always build mem-initializers, if
+ we're synthesizing the default constructor.
+
+2006-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/27270
+ * decl.c (reshape_init_class): Move check for designated
+ to ...
+ * parser.c (cp_parser_initializer_list): ... here.
+ * pt.c (tsubst_copy_and_build): Use finish_compound_literal.
+
+2006-10-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/27270
+ * typeck2.c (process_init_constructor_array): Reword comment.
+ * pt.c (tsubst_copy_and_built): Call reshape_init before calling
+ digest_init.
+
+ PR c++/29408
+ * parser.c (cp_parser_using_declaration): Stop parsing when
+ something goes wrong with an access declaration.
+
+ PR c++/29435
+ * typeck.c (cxx_sizeof_or_alignof_type): Complete non-dependent
+ types when their sizes are required. Refine test for VLAs.
+
+ PR c++/28211
+ * parser.c (cp_parser_template_argument): Don't consider "&var" a
+ possible constant-expression.
+ * pt.c (convert_nontype_argument): Refine handling of arguments of
+ pointer type.
+
+2006-10-13 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28506
+ * parser.c (function_declarator_p): New function.
+ (cp_parser_init_declarator): Use it.
+ (cp_parser_member_declaration): Likewise.
+
+2006-10-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29318
+ * rtti.c (get_tinfo_decl): Refuse to create type info objects for
+ variably modified types.
+
+2006-10-12 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/27961
+ * decl.c (start_decl): Return error_mark_node if a
+ function is initialized like a variable.
+ (check_var_type): If a variable of field is declared void,
+ set the type to error_mark_node.
+ (grokdeclarator): Check the return type of check_var_type.
+ * class.c (finish_struct_1): Robustify.
+
+2006-10-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29175
+ * decl.c (check_initializer): Issue errors about trying to
+ initialize arrays whose elements have variable size.
+
+2006-10-11 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/29024
+ * cp-tree (struct cp_decl_specifier_seq): Rename to
+ conflicting_specifiers_p
+ * parser.c (cp_parser_set_storage_class): Set
+ conflicting_specifiers_p for the input decl specifier
+ if a typedef specifier is present. Rename uses of
+ multiple_specifiers_p to conflicting_specifiers_p.
+ (cp_parser_decl_specifier_seq) <RID_TYPEDEF>: If a storage
+ class specifier has already been set for this declaration,
+ set conflicting_specifiers_p to true on the decl_specs.
+ * decl.c (grokdeclarator): Rename uses of
+ multiple_specifiers_p to conflicting_specifiers_p.
+
+2006-10-10 Brooks Moses <bmoses@stanford.edu>
+
+ * Make-lang.in: Added "c++.pdf" target support.
+
+2006-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/29323
+ * decl.c (finish_function): Set TREE_NOTHROW only for
+ functions that bind local.
+
+2006-10-09 Richard Henderson <rth@redhat.com>
+
+ Revert emutls patch.
+
+2006-10-04 Richard Henderson <rth@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (grokvardecl): Don't error if !have_tls.
+ (grokdeclarator): Likewise.
+ * parser.c (cp_parser_omp_threadprivate): Likewise.
+
+2006-10-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29020
+ * friend.c (do_friend): Improve comments; add assertion.
+ * parser.c (cp_parser_nested_name_specifier_opt): Resolve
+ typenames for qualified names used in declarations, even when
+ caching qualified name lookup.
+
+ PR c++/29138
+ * decl2.c (grokfield): Don't handle access declarations here.
+ * parser.c (cp_parser_using_declaration): Handle access
+ declarations too.
+ (cp_parser_block_declaration): Adjust calls to
+ cp_parser_using_declaration.
+ (cp_parser_member_declaration): Likewise. Use
+ cp_parser_using_declaration to look for access_declarations.
+
+2006-10-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/29291
+ * init.c (build_new): Check for invalid init.
+
+2006-10-02 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29226
+ * typeck.c (cxx_sizeof_or_alignof_type): Tidy. In templates, do
+ not try to actually evaluate sizeof for a VLA type.
+
+2006-10-01 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29105
+ * pt.c (tsubst_baselink): Substituteinto the qualifying scope.
+ * semantics.c (baselink_for_fns): Build a baselink, even when
+ processing a template.
+
+ PR c++/29080
+ * parser.c (cp_parser_postfix_dot_deref_expression): Use
+ BASELINK_ACCESS_BINFO as the qualifying scope when calling
+ adjust_result_of_qualified_name_lookup.
+
+2006-09-25 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/27329
+ PR c++/26938
+ * cp-tree.h (redeclare_class_template): Adjust declaration
+ to return bool instead of void.
+ * pt.c (redeclare_class_template): Update definition.
+ Return false on error.
+ * decl.c (xref_tag): Return error_mark_node if
+ redeclare_class_template returned false.
+
+ PR c++/27667
+ * cp-tree.h (begin_specialization): Return bool
+ instead of void.
+ * pt.c (check_specialization_scope): Likwise.
+ Adjust comment. Return false if a specialization
+ isn't permitted in the current scope.
+ (begin_specialization): Use the return value of
+ check_specialization_scope.
+ * parser.c (cp_parser_explicit_specialization): If
+ begin_specialization returned false, skip the rest
+ of the specialization.
+
+2006-09-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29016
+ * typeck.c (build_unary_op): Don't form an ADDR_EXPR around a
+ BASELINK.
+
+2006-09-21 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/28861
+ * decl.c (shadow_tag): Return error_mark_node
+ if maybe_process_partial_specialization failed.
+
+ PR c++/28303
+ * decl.c (grokdeclarator): Return error_mark_node on
+ declaration with two or more data types.
+
+2006-09-20 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/27650
+ * class.c (check_for_override): Remove dllimport from virtual
+ methods.
+
+2006-09-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR c++/29087
+ * parser.c (cp_parser_labeled_statement): Return nothing. Do
+ not take in_statement_expr and in_compound as arguments. Rename
+ to cp_parser_label_for_labeled_statement. Parse only the label,
+ not the statement.
+ (cp_parser_statement): Parse the statement of a labeled-statement
+ from here, using tail recursion.
+
+2006-09-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR C++/29002
+ * init.c (build_zero_init): If we have an error mark node for
+ the array size, return.
+
+2006-09-10 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28991
+ * cp-objcp-common.c (cxx_staticp): New function.
+ * cp-objcp-common.h (LANG_HOOOKS_STATICP): Use it.
+ * cp-tree.h (cxx_staticp): New function.
+
+2006-09-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/28996
+ * cvt.c (convert_to_void): Strip COMPONENT_REF to functions.
+
+2006-09-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/28858
+ * parser.c (cp_parser_skip_until_found): Rename to
+ cp_parser_skip_to_end_of_template_parameter_list. Remove last two
+ parameters. Track levels of '< ... >'. Stop at '{', '}', or ';'.
+ Reorganize. Adjust comment.
+ (cp_parser_template_declaration_after_export): Adjust call.
+ (cp_parser_enclosed_template_argument_list): Likewise.
+
+2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR C++/28906
+ * init.c (build_new_1): Build a distinct type copy
+ for the array type that was returned from
+ build_cplus_array_type.
+
+2006-09-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/27371
+ * cvt.c (convert_to_void): Enable previous change.
+
+ PR c++/26957
+ * method.c (use_thunk): Clear DECL_HAS_VALUE_EXPR_P on copied
+ parms.
+
+2006-09-07 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c++/28284
+ * pt.c (fold_non_dependent_expr): Make sure expr is not
+ dereferenced if it is NULL.
+
+2006-09-06 Zak Kipling <zak@transversal.com>
+
+ PR c++/26195
+ * decl.c (make_rtl_for_nonlocal_decl),
+ (start_preparsed_function): Don't use lbasename on
+ input_filename when calling get_fileinfo.
+ * semantics.c (begin_class_definition): Likewise.
+ * lex.c (cxx_make_type): Likewise.
+ (handle_pragma_interface): Call get_fileinfo on input_filename,
+ not on the parameter to the directive.
+
+2006-09-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28903
+ * pt.c (tsubst): Use fold_non_dependent_expr to fold array
+ dimensions.
+
+ PR c++/28886
+ * pt.c (unify): Avoid unnecessary calls to fold_build2 for array
+ dimensions.
+
+2006-09-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/27371
+ * cvt.c (convert_to_void): Strip useless TARGET_EXPR.
+ * cp-tree.h (TARGET_EXPR_IMPLICIT_P): New macro.
+ * tree.c (build_cplus_new): Set it.
+
+ PR c++/26696
+ * cvt.c (convert_to_void): Replace a subexpression with no side
+ effects with void_zero_node.
+ * tree.c (is_overloaded_fn): Look through COMPONENT_REF.
+ (get_first_fn): Ditto.
+ * decl.c (grokdeclarator): No need to look through COMPONENT_REF.
+
+2006-09-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/26571
+ * parser.c (cp_parser_diagnose_invalid_type_name): Handle the case
+ where the name is a type used incorrectly.
+
+ PR c++/26671
+ * typeck.c (maybe_warn_about_returning_address_of_local): Look
+ through COMPONENT_REF and ARRAY_REF.
+
+ PR c++/26102
+ * name-lookup.c (do_class_using_decl): Try to find the base even
+ if bases_dependent_p.
+ * pt.c (type_dependent_expression_p): A USING_DECL is dependent.
+
+ PR c++/19809
+ * pt.c (tsubst_friend_function): Set DECL_INITIAL before pushdecl.
+
+2006-09-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR 23287 Revert my 2006-09-01 patch.
+ * parser.c: Reverted.
+ * pt.c: Reverted.
+
2006-09-02 Lee Millward <lee.millward@codesourcery.com>
- PR c++/27670
- PR c++/27493
- PR c++/27494
- PR c++/27397
- * parser.c (cp_parser_template_parameter_list): Add
- invalid template parameters to the parameter list as
- error_mark_node.
+ PR c++/27670
+ PR c++/27493
+ PR c++/27494
+ PR c++/27397
+ * parser.c (cp_parser_template_parameter_list): Add
+ invalid template parameters to the parameter list as
+ error_mark_node.
2006-09-02 Jakub Jelinek <jakub@redhat.com>