+2006-03-24 Carlos O'Donell <carlos@codesourcery.com>
+
+ * search.c (maybe_suppress_debug_info): If
+ flag_emit_class_debug_always then don't suppress.
+
+2006-03-22 Jason Merrill <jason@redhat.com>
+
+ * name-lookup.c (push_namespace_with_attribs): Only apply hidden
+ visibility to anonymous namespaces if HAVE_GAS_HIDDEN.
+
+2006-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/26691
+ * cp-gimplify.c (cxx_omp_clause_apply_fn): Handle default arguments.
+
+2006-03-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/21581
+ * parser.c (cp_parser_declaration): Support attributes on
+ anonymous namespaces.
+ * name-lookup.c (push_namespace_with_attribs): Anonymous
+ namespaces default to hidden visibility.
+
+2006-03-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/21764, c++/19238
+ * decl.c (cp_finish_decl): Call determine_visibility later.
+ (start_preparsed_function): Likewise.
+ * cp-tree.h (CP_TYPE_CONTEXT, TYPE_NAMESPACE_SCOPE_P): New macros.
+ (TYPE_CLASS_SCOPE_P, TYPE_FUNCTION_SCOPE_P): New macros.
+ * name-lookup.h (struct cp_binding_level): Add has_visibility
+ bitfield.
+ * name-lookup.c: Include c-pragma.h.
+ (push_namespace_with_attribs): Split out from push_namespace.
+ Push visibility if appropriate. Set TREE_PUBLIC on namespaces.
+ (leave_scope): Pop visibility if appropriate.
+ * decl2.c (determine_visibility_from_class): Split out from...
+ (determine_visibility): ...here. Handle function scope and
+ nested classes.
+ (import_export_decl): Move visibility handling to
+ determine_visibility_from_class.
+ * parser.c (cp_parser_declaration, cp_parser_namespace_name): Allow
+ attributes on namespace declarations.
+
+2006-03-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/6634
+ * decl.c (grokdeclarator): Do not accept long long double.
+ Reorganize checks for invalid (combinations of) type modifiers.
+ Quote modifiers in messages.
+
+2006-03-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/16387, c++/16389
+ * typeck.c (cxx_alignof_expr, cxx_sizeof_expr): New functions.
+ (cxx_sizeof_or_alignof_expr): Split out from here.
+
+2006-03-09 Diego Novillo <dnovillo@redhat.com>
+
+ Merge from gomp-20050608-branch
+
+ 2006-02-02 Diego Novillo <dnovillo@redhat.com>
+
+ * decl.c (pop_labels_1): Use appropriate pointer casting.
+ (poplevel_named_label_1): Likewise.
+ (named_label_entry_hash): Likewise.
+ (named_label_entry_eq): Likewise.
+ (check_goto): Likewise.
+ (define_label): Likewise.
+
+ 2006-01-26 Diego Novillo <dnovillo@redhat.com>
+
+ * cp-tree.h (CP_OMP_CLAUSE_INFO): Use TREE_TYPE instead
+ of TREE_BLOCK.
+ * pt.c: Use OMP_CLAUSE_CODE and OMP_CLAUSE_OPERAND
+ instead of TREE_CODE/TREE_OPERAND.
+ * semantics.c: Likewise.
+ * parser.c: Likewise.
+
+ 2005-11-10 Diego Novillo <dnovillo@redhat.com>
+
+ * parser.c (cp_parser_omp_threadprivate): Emit diagnostic if
+ target does not support TLS.
+
+ 2005-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (redeclaration_error_message): Don't error about
+ DECL_THREAD_LOCAL_P mismatches if CP_DECL_THREADPRIVATE_P
+ (olddecl).
+
+ 2005-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/24735
+ * semantics.c (finish_omp_barrier, finish_omp_flush): New
+ functions.
+ * parser.c (cp_parser_omp_barrier): Call finish_omp_barrier.
+ (cp_parser_omp_flush): Call finish_omp_flush.
+ * cp-tree.h (finish_omp_barrier, finish_omp_flush): New
+ prototypes.
+
+ PR c++/24734
+ * pt.c (tsubst_expr): Handle OMP_MASTER and OMP_ORDERED.
+
+ 2005-11-03 Jakub Jelinek <jakub@redhat.com>
+
+ * semantics.c (finish_omp_threadprivate): Error on class-scope
+ variables.
+
+ 2005-11-02 Jakub Jelinek <jakub@redhat.com>
+
+ * parser.c (cp_parser_omp_all_clauses): If some clause
+ type is not allowed, don't remove just one of the
+ clauses, but all clauses added in that loop round.
+
+ * semantics.c (finish_omp_clauses): Fix function
+ comment. Don't handle non-const or mutable specially,
+ as const and not mutable is predetermined shared and
+ that leads to double error. Don't ICE if copyin var is
+ PARM_DECL.
+
+ PR c++/24613
+ * parser.c (cp_parser_pragma): Diagnose
+ PRAGMA_OMP_SECTION outside of PRAGMA_OMP_SECTIONS
+ construct.
+
+ * semantics.c (finish_omp_threadprivate): Error if V
+ is automatic variable or has incomplete type.
+
+ 2005-11-01 Diego Novillo <dnovillo@redhat.com>
+
+ * parser.c (cp_parser_omp_all_clauses): Use
+ OMP_CLAUSE_CHAIN instead of TREE_CHAIN.
+
+ 2005-11-01 Diego Novillo <dnovillo@redhat.com>
+
+ * parser.c (cp_parser_omp_all_clauses): When emitting an
+ error message, remove the invalid clause from the list.
+
+ 2005-10-31 Diego Novillo <dnovillo@redhat.com>
+
+ * parser.c (cp_parser_omp_parallel): Do not allow 'nowait' in
+ combined parallel+workshare directives.
+
+ 2005-10-31 Richard Henderson <rth@redhat.com>
+
+ * cp-objcp-common.h (LANG_HOOKS_OMP_CLAUSE_DTOR):
+ Use cxx_omp_clause_dtor.
+ * cp-tree.h (CP_OMP_CLAUSE_INFO): New.
+ (cxx_omp_clause_dtor): New.
+ * cp-gimplify.c (cxx_omp_clause_apply_fn): New.
+ (cxx_omp_clause_default_ctor): Use it.
+ (cxx_omp_clause_copy_ctor, cxx_omp_clause_assign_op):
+ Likewise.
+ (cxx_omp_clause_dtor): New.
+ * semantics.c (finish_omp_clauses): Rewrite cdtor
+ checking to fill in CP_OMP_CLAUSE_INFO. Don't
+ specialcase LASTPRIVATE for removal.
+ (cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor,
+ cxx_omp_clause_assign_op): Move to cp-gimplify.c.
+
+ 2005-10-28 Jakub Jelinek <jakub@redhat.com>
+
+ * semantics.c (finish_omp_threadprivate): If
+ DECL_RTL_SET_P, call make_decl_rtl again so that
+ encode_section_info can update SYMBOL_REF's flags.
+
+ 2005-10-26 Jakub Jelinek <jakub@redhat.com>
+
+ * semantics.c (finish_omp_for): Don't segfault if COND
+ or INCR is NULL. If not calling c_finish_omp_for
+ right away and one of COND and INCR is NULL, issue
+ error and don't expand anything.
+
+ PR c++/24512
+ * cp-tree.h (finish_omp_for): Add PRE_BODY argument.
+ * semantics.c (finish_omp_for): Likewise. Set
+ OMP_FOR_PRE_BODY to PRE_BODY if deferring, add it
+ into the current statement list if not processing
+ template decl or pass it to c_finish_omp_for.
+
+ * parser.c (cp_parser_omp_for_loop): Expand optional DECL_EXPRs
+ into PRE_BODY statement list. Pass it to finish_omp_for.
+ * pt.c (tsubst_expr) <case OMP_FOR>: tsubst_expr also
+ OMP_FOR_PRE_BODY into PRE_BODY stmt list, pass it to
+ finish_omp_for. Put all the statements into sk_omp
+ scope.
+
+ 2005-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/24516
+ * parser.c (struct cp_parser): Rename in_iteration_statement
+ field to in_statement.
+ (IN_SWITCH_STMT, IN_ITERATION_STMT): Define.
+ (IN_OMP_BLOCK, IN_OMP_FOR): Change values.
+ (cp_parser_new, cp_parser_begin_omp_structured_block,
+ cp_parser_end_omp_structured_block,
+ cp_parser_omp_for_loop): Adjust for
+ in_iteration_statement renaming.
+ (cp_parser_selection_statement): Save
+ parser->in_iteration, or it temporarily with
+ IN_SWITCH_STMT for the
+ cp_parser_implicitly_scoped_statement call.
+ (cp_parser_iteration_statement): Adjust for
+ in_iteration_statement renaming. Use
+ IN_ITERATION_STMT rather than true.
+ (cp_parser_jump_statement): Adjust for
+ in_iteration_statement renaming and new values. Don't
+ error on break in a switch statement within OMP_FOR or
+ OpenMP structured block.
+
+ PR c++/24513
+ * parser.c (cp_parser_cache_group): Don't stop if next
+ token is CPP_PRAGMA_EOL and end is CPP_PRAGMA_EOL as
+ well. If current token is CPP_PRAGMA, consume
+ everything until CPP_PRAGMA_EOL inclusive.
+
+ 2005-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/24502
+ * semantics.c (finish_omp_for): Handle MODOP_EXPR in
+ addition to MODIFY_EXPR.
+
+ 2005-10-23 Richard Henderson <rth@redhat.com>
+
+ * cp-gimplify.c (struct cp_gimplify_ctx): Remove.
+ (bc_label): New.
+ (begin_bc_block, finish_bc_block): Use it.
+ (push_context, pop_context): Remove.
+ (cp_genericize): Don't use them. Assert bc_label is null.
+ * semantics.c (finish_omp_clauses): Create a fake data
+ element of TYPE for probing ctors.
+
+ 2005-10-23 Richard Henderson <rth@redhat.com>
+
+ * cp-objcp-common.h (LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): New.
+ (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR): New.
+ (LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): New.
+ (LANG_HOOKS_OMP_CLAUSE_DTOR): New.
+ * semantics.c (finish_omp_clauses): Look through
+ arrays when looking up special member calls. Also
+ remove FIRSTPRIVATE when LASTPRIVATE fails.
+ (cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor): New.
+ (cxx_omp_clause_assign_op): New.
+ * cp-tree.h: Declare them.
+
+ 2005-10-21 Richard Henderson <rth@redhat.com>
+
+ * decl.c (check_previous_goto_1): Return false if error.
+ (check_switch_goto): Likewise.
+ (finish_case_label): Don't emit the case label on error.
+ * parser.c (struct cp_parser): Revert
+ in_switch_statement_p changes.
+ (cp_parser_labeled_statement,
+ cp_parser_selection_statement): Likewise.
+ (cp_parser_begin_omp_structured_block): Don't save...
+ (cp_parser_end_omp_structured_block): or restore
+ in_switch_statement_p.
+
+ 2005-10-21 Richard Henderson <rth@redhat.com>
+
+ * semantics.c (finish_omp_threadprivate): Set
+ decl_flags.u2sel when necessary.
+
+ 2005-10-21 Richard Henderson <rth@redhat.com>
+
+ * decl.c (poplevel_named_label_1): Restore creation of the
+ bad_decls list.
+ (decl_jump_unsafe): Check for error_mark_node types.
+ (check_goto): Don't check cdtor_label. Don't use identify_goto.
+ * semantics.c (finish_return_stmt): Do check_omp_return before
+ converting to cdtor_label goto.
+
+ 2005-10-21 Richard Henderson <rth@redhat.com>
+
+ PR c++/24451
+ * decl.c (check_omp_return): Return false on error.
+ * cp-tree.h (check_omp_return): Update decl.
+ * semantics.c (finish_return_stmt): Avoid adding
+ return on error.
+
+ 2005-10-21 Richard Henderson <rth@redhat.com>
+
+ * cp-tree.h (struct language_function): Remove
+ x_named_label_uses.
+ Change x_named_labels to a hashtable.
+ (check_omp_return): Declare.
+ * decl.c (struct named_label_use_entry): Rename from
+ named_label_use_list. Remove label_decl.
+ (struct named_label_entry): Rename from
+ named_label_list. Remove old_value and next. Change
+ in_try_scope and in_catch_scope to bool. Add
+ in_omp_scope.
+ (pop_labels_1): New.
+ (pop_labels): Use it.
+ (pop_local_label, poplevel_named_label_1): New.
+ (poplevel): Use them.
+ (named_label_entry_hash, named_label_entry_eq): New.
+ (make_label_decl): Create named_labels. Move label
+ creation bits from lookup_label.
+ (declare_local_label): Tidy.
+ (identify_goto): Split out from ...
+ (check_previous_goto_1): Add exited_omp argument.
+ Handle omp scopes.
+
+ (use_label): Merge into...
+ (check_goto): ... here. Handle omp scopes.
+ (check_omp_return): New.
+ (check_previous_gotos): Merge into...
+ (define_label): ... here.
+ (save_function_data): Remove x_named_label_uses reference.
+ (finish_function): Likewise.
+ * name-lookup.h (sk_omp): New.
+ * name-lookup.c (begin_scope): Handle it.
+ * parser.c (cp_parser_omp_for): Don't create extra
+ compound stmt.
+
+ (cp_parser_omp_sections): Likewise.
+ * semantics.c (finish_return_stmt): Call check_omp_return.
+ (begin_omp_structured_block): Use sk_omp.
+ (finish_omp_structured_block): Use do_poplevel. Don't build a
+ MUST_NOT_THROW expression here.
+ (begin_omp_parallel, finish_omp_parallel): Don't create extra
+ compound statements.
+
+ 2005-10-21 Diego Novillo <dnovillo@redhat.com>
+
+ PR 24455
+ * cp/cp-tree.h (struct lang_decl_flags): Add field
+ threadprivate_p.
+ (CP_DECL_IS_THREADPRIVATE): Define.
+ * cp/semantics.c (finish_omp_threadprivate): Set. Do
+ not error out if CP_DECL_IS_THREADPRIVATE is set
+ already.
+ * cp/decl.c (duplicate_decls): Merge
+ CP_DECL_THREADPRIVATE_P.
+
+ 2005-10-20 Richard Henderson <rth@redhat.com>
+
+ * cp-gimplify.c (cp_gimplify_omp_for): New.
+ (cp_gimplify_expr): Call it.
+ * cp-tree.h (OMP_FOR_GIMPLIFYING_P): New.
+ * parser.c (struct cp_parser): Rename
+ in_iteration_statement_p to in_iteration_statement and
+ change to unsigned char. Similarly with
+ in_switch_statement. Update all users.
+ (IN_OMP_BLOCK, IN_OMP_FOR): New.
+ (cp_parser_labeled_statement): Diagnose case labels
+ binding closer to an openmp block nested than the
+ switch.
+ (cp_parser_jump_statement): Diagnose break and
+ continue labels binding closer to an openmp block than
+ an iteration or switch.
+ (cp_parser_omp_for_loop): Mark in_iteration_statement
+ for an omp for.
+ (cp_parser_begin_omp_structured_block): New.
+ (cp_parser_end_omp_structured_block): New.
+ (cp_parser_omp_structured_block): Use them.
+ (cp_parser_omp_for, cp_parser_omp_sections_scope): Likewise.
+ (cp_parser_omp_parallel): Likewise.
+
+ 2005-10-20 Richard Henderson <rth@redhat.com>
+
+ * semantics.c (begin_omp_structured_block): New.
+ (finish_omp_structured_block): New.
+ (begin_omp_parallel, finish_omp_parallel): Use them.
+ * parser.c (cp_parser_omp_structured_block): Likewise.
+ (cp_parser_omp_for): Likewise.
+ (cp_parser_omp_sections_scope): Likewise.
+ * cp-tree.h: Declare them.
+
+ 2005-10-20 Richard Henderson <rth@redhat.com>
+
+ * parser.c (cp_parser_omp_master): Return the statement.
+ (cp_parser_omp_ordered): Likewise.
+ (cp_parser_omp_construct): Set the locus for them.
+
+ 2005-10-19 Richard Henderson <rth@redhat.com>
+
+ * semantics.c (finish_omp_atomic): Revert to
+ uses_template_parms.
+
+ 2005-10-19 Richard Henderson <rth@redhat.com>
+
+ * semantics.c (finish_omp_clauses): Avoid
+ DECL_THREAD_LOCAL_P on a PARM_DECL. Remove some
+ stub asserts guaranteed to fail.
+
+ 2005-10-19 Richard Henderson <rth@redhat.com>
+
+ * cp-tree.h (OMP_ATOMIC_DEPENDENT_P, OMP_ATOMIC_CODE): New.
+ (finish_omp_clauses, finish_omp_for, finish_omp_atomic): New.
+ * parser.c (cp_parser_omp_clause_copyin): Remove.
+ (cp_parser_omp_all_clauses): Use cp_parser_omp_var_list instead. Call finish_omp_clauses.
+ (cp_parser_omp_clause_if): Don't do error checking here.
+ (cp_parser_omp_clause_num_threads): Likewise.
+ (cp_parser_omp_clause_schedule): Likewise.
+ (cp_parser_omp_atomic): Use finish_omp_atomic.
+ (cp_parser_omp_for_loop): Don't discard DECL_EXPR.
+ Don't decompose assignment statment here. Use
+ finish_omp_for.
+
+ * pt.c (tsubst_omp_clauses): New.
+ (tsubst_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
+ OMP_SINGLE, OMP_SECTION, OMP_CRITICAL, OMP_ATOMIC.
+ * semantics.c (finish_omp_clauses): New.
+ (begin_omp_parallel, finish_omp_parallel): Know Less about the
+ internals of the stmt_list stack.
+ (finish_omp_for, finish_omp_atomic): New.
+
+ 2005-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ * semantics.c (cxx_omp_predetermined_sharing): New function.
+ * cp-tree.h (cxx_omp_predetermined_sharing): New prototype.
+ * cp-objcp-common.h
+ (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
+
+ 2005-10-18 Richard Henderson <rth@redhat.com>
+
+ * parser.c (cp_parser_omp_single): Use make_node and accessors
+ instead of build.
+
+ 2005-10-17 Richard Henderson <rth@redhat.com>
+
+ * parser.c (cp_parser_omp_for_loop): Handle declarations.
+
+ 2005-10-12 Richard Henderson <rth@redhat.com>
+
+ * Make-lang.in (CXX_C_OBJS): Add c-omp.o.
+ * cp-tree.h (begin_omp_parallel, finish_omp_parallel): Declare.
+ (finish_omp_threadprivate): Declare.
+ * parser.c (struct cp_lexer): Add in_pragma.
+ (cp_lexer_consume_token): Don't consume a PRAGMA_EOL
+ when in_pragma.
+ (cp_parser_skip_to_closing_parenthesis): Stop at PRAGMA_EOL.
+ (cp_parser_skip_to_end_of_statement): Likewise.
+ (cp_parser_skip_to_end_of_block_or_statement): Likewise.
+ (cp_parser_skip_to_closing_brace): Likewise.
+ (cp_parser_skip_to_pragma_eol): Reset in_pragma.
+ (cp_parser_require_pragma_eol): New.
+ (cp_parser_statement): Add in_compound argument;
+ update all callers.
+ Restart if a non-statement pragma seen outside a
+ compound.
+ (cp_parser_statement_seq_opt): Stop at PRAGMA_EOL.
+ (cp_parser_declaration_seq_opt): Likewise.
+ (cp_parser_member_specification_opt): Likewise.
+ (cp_parser_function_definition_after_decl): Likewise.
+ (cp_parser_skip_until_found): Likewise.
+ (cp_parser_cache_group): Likewise.
+ (enum pragma_omp_clause, cp_parser_omp_clause_name,
+ check_no_duplicate_clause,
+ cp_parser_omp_var_list_no_open,
+ cp_parser_omp_var_list, cp_parser_omp_clause_copyin,
+ cp_parser_omp_clause_default, cp_parser_omp_clause_if,
+ cp_parser_omp_clause_nowait,
+ cp_parser_omp_clause_num_threads,
+ cp_parser_omp_clause_ordered,
+ cp_parser_omp_clause_reduction,
+ cp_parser_omp_clause_schedule,
+ cp_parser_omp_all_clauses,
+ cp_parser_omp_structured_block, cp_parser_omp_atomic,
+ cp_parser_omp_barrier, cp_parser_omp_critical,
+ cp_parser_omp_flush, cp_parser_omp_for_loop,
+ cp_parser_omp_for, cp_parser_omp_master,
+ cp_parser_omp_ordered, cp_parser_omp_sections_scope,
+ cp_parser_omp_sections, cp_parser_omp_parallel,
+ cp_parser_omp_single, cp_parser_omp_threadprivate,
+ cp_parser_omp_construct): New.
+ (cp_parser_pragma): Handle OpenMP pragmas.
+ * semantics.c (finish_omp_threadprivate): New.
+ (begin_omp_parallel, finish_omp_parallel): New.
+
+ 2005-10-11 Richard Henderson <rth@redhat.com>
+
+ * parser.c (struct cp_token): Add pragma_kind.
+ (eof_token): Initialize it.
+ (cp_lexer_handle_pragma): Remove.
+ (cp_parser_initial_pragma): New.
+ (cp_lexer_new_main): Use it.
+ (cp_lexer_get_preprocessor_token): Initialize pragma_kind.
+ (cp_lexer_print_token): Don't handle CPP_PRAGMA.
+ (cp_parser_skip_to_pragma_eol): New.
+ (cp_parser_error): Use it.
+ (pragma_lex): New.
+
+ 2005-10-09 Richard Henderson <rth@redhat.com>
+
+ * lex.c (parse_strconst_pragma): Update for c_lex name change.
+ (handle_pragma_java_exceptions): Likewise.
+ * parser.c (cp_lexer_new_main): Likewise.
+
+ 2005-10-06 Richard Henderson <rth@redhat.com>
+
+ * parser.c (cp_lexer_new_main): Comment out defer_pragmas.
+ (cp_lexer_handle_pragma): Comment out
+ cpp_handle_deferred_pragma.
+
+ 2005-10-01 Richard Henderson <rth@redhat.com>
+
+ * name-lookup.c (lookup_name): Remove prefer_type argument.
+ (lookup_name_prefer_type): New function.
+ * name-lookup.h (lookup_name_prefer_type): Declare it.
+ * decl.c (lookup_and_check_tag): Use it.
+ * pt.c (tsubst_friend_class): Likewise. Update for
+ lookup_name change.
+ (lookup_template_class, tsubst_copy_and_build): Likewise.
+
+2006-03-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/15759
+ * tree.c (bot_manip): Don't call mark_used.
+
+2006-03-02 Mike Stump <mrs@apple.com>
+
+ * decl2.c (import_export_decl): Remove redundant call to
+ targetm.cxx.key_method_may_be_inline ().
+
+2006-03-02 Richard Sandiford <richard@codesourcery.com>
+
+ * decl.c (start_decl): Use have_global_bss_p when deciding
+ whether to make the decl common.
+
+2006-03-01 Mike Stump <mrs@apple.com>
+
+ PR darwin/25908
+ * decl2.c (import_export_decl): Fix ABI breakage on darwin.
+
+2006-02-24 Geoffrey Keating <geoffk@apple.com>
+
+ * except.c (expand_start_catch_block): Handle
+ flag_use_cxa_get_exception_ptr.
+
+2006-02-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/26291
+ * decl.c (grok_op_properties): Check for ellipsis in arguments of
+ operators.
+
+2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * Make-lang.in (C++): Remove.
+ (.PHONY): Remove C++.
+
+2006-02-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/26266
+ * cp-tree.h (cp_finish_decl): Adjust declaration.
+ (grokbitfield): Likewise.
+ (finish_static_data_member_decl): Likewise.
+ * init.c (constant_value_1): Ensure processing_template_decl when
+ folding non-dependent initializers for static data members of
+ dependent types. Return error_mark_node for erroneous
+ initailizers.
+ * class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl.
+ * decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl.
+ (cp_finish_decl): Add init_const_expr_p parameter. Set
+ DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
+ (finish_decl): Adjust call to cp_finish_decl.
+ (compute_array_index_type): Robustify.
+ (start_method): Use finish_decl, not cp_finish_decl.
+ * rtti.c (emit_tinfo_decl): Likewise.
+ * except.c (initialize_handler_parm): Adjust call to
+ cp_finish_decl.
+ (expand_start_catch_block): Likewise.
+ * cvt.c (build_up_reference): Adjust call to cp_finish_decl.
+ * pt.c (instantiate_class_template): Adjust call to
+ finish_static_data_member_decl.
+ (tsubst_expr): Use finish_decl, not cp_finish_decl.
+ (instantiate_decl): Adjust call to cp_finish_decl.
+ * name-lookup.c (pushdecl_top_level_1): Use finish_decl, not
+ cp_finish_decl.
+ * decl2.c (finish_static_data_member_decl): Add init_const_expr_p
+ parameter.
+ (grokfield): Likewise.
+ * parser.c (cp_parser_condition): Check for constant initializers.
+ (cp_parser_init_declarator): Adjust calls to grokfield and
+ cp_finish_decl. Don't set
+ DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
+ (cp_parser_member_declaration): Likewise.
+ (cp_parser_objc_class_ivars): Likewise.
+
+2006-02-14 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * call.c (standard_conversion): Return NULL instead of 0.
+ (build_user_type_conversion_1): Likewise.
+ (tourney): Likewise.
+ * decl.c (redeclaration_error_message): Likewise.
+ * error.c (language_to_string): Likewise.
+
+2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * cp-tree.h (warn_hidden): Remove prototype.
+ * class.c (warn_hidden): Make static.
+
+ * cp-tree.h (build_type_conversion): Remove prototype.
+ * cvt.c (build_type_conversion): Add prototype, make static.
+
+ * cp-tree.h (push_tinst_level): Remove prototype.
+ (pop_tinst_level): Likewise.
+ * pt.c (push_tinst_level): Add prototype, make static.
+ (pop_tinst_level): Likewise.
+
+2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * decl.c (grokdeclarator): Return NULL_TREE instead of 0.
+ * typeck.c (unary_complex_lvalue): Likewise.
+
+2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * lex.c (parse_strconst_pragma): Return error_mark_node instead of
+ "(tree)-1" to indicate failure. Simplify.
+ (handle_pragma_interface): Test for error_mark_node instead of
+ "(tree)-1".
+ (handle_pragma_implementation): Likewise.
+
+2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/26151
+ * parser.c (cp_parser_decl_specifier_seq): Check for duplicate
+ decl-specifiers. Remove extra check for duplicate 'friend'.
+ * decl.c (grokdeclarator): Remove check for duplicate
+ decl-specifiers. Set longlong together with long_p.
+
+2006-02-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/24996
+ * except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the
+ TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR.
+
+2006-02-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * class.c (debug_class): Remove extern.
+ (debug_thunks): Likewise.
+
+2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * typeck.c (string_conv_p): Don't test for flag_const_strings.
+
+2006-02-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/25979
+ * cp-gimplify.c (cp_gimplify_expr): Don't call
+ cp_gimplify_init_expr for MODIFY_EXPRs.
+ * typeck2.c (split_nonconstant_init_1): Use INIT_EXPR.
+
+2006-02-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/26071
+ * decl.c (grokdeclarator): Set dname also for destructor.
+
+ PR c++/26070
+ * decl.c (grokdeclarator): Clear storage_class together with staticp.
+
+2006-02-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cp-tree.h (tf_warning_or_error): Renamed from tf_warn_or_error.
+ (cp_build_qualified_type): Propogate renaming.
+ * call.c (convert_like_real): Likewise.
+ * cvt.c (cp_convert_to_pointer, convert_to_reference): Likewise.
+ * decl.c (make_typename_type, grokdeclarator): Likewise.
+ * pt.c (tsubst_friend_function, instantiate_class_template,
+ tsubst_default_argument, instantiate_decl,
+ tsubst_initializer_list, tsubst_enum): Likewise.
+ * semantics.c (finish_template_type): Likewise.
+ * typeck.c (build_ptrmemfunc, convert_for_assignment): Likewise.
+
+2006-02-07 Dirk Mueller <dmueller@suse.com>
+
+ * typeck.c (build_binary_op): Annotate div-by-zero
+ warnings to make -Wno-div-by-zero have an effect.
+
+2006-02-07 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/9737
+ * pt.c (coerce_template_template_parms): Do not templates with
+ excess default arguments to match template template parameters
+ with fewer parameters.
+ (coerce_template_parms): Add use_default_args parameter; use
+ default arguments only when true.
+ (lookup_template_class): Adjust call to coerce_template_parms.
+ (fn_type_unification): Likewise.
+ (unify): Likewise.
+ (get_bindings): Likewise.
+ (dependent_type_p): Add assertions.
+
+2006-02-06 Roger Sayle <roger@eyesopen.com>
+
+ * decl.c (grokdeclarator): Don't bother checking for CHAR_TYPE.
+ * rtti.c (typeinfo_in_lib_p): Likewise.
+ * cp-tree.h (INTEGRAL_CODE_P, CP_INTEGRAL_TYPE_P): Likewise.
+ * name-lookup.c (arg_assoc_type): Likewise.
+
+2006-02-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cp-tree.h (tf_warn_or_error): New substituion flag.
+ (cp_build_qualified_type): Use it.
+ * call.c (convert_like_real): Likewise.
+ * cvt.c (cp_convert_to_pointer): Likewise.
+ (convert_to_reference): Likewise.
+ * decl.c (make_typename_type): Likewise.
+ (grokdeclarator): Likewise.
+ * pt.c (tsubst_friend_function): Likewise.
+ (tsubst_friend_class): Likewise.
+ (instantiate_class_template): Likewise.
+ (tsubst_default_argument): Likewise.
+ (instantiate_decl): Likewise.
+ (tsubst_initializer_list): Likewise.
+ (tsubst_enum): Likewise.
+ * semantics.c (finish_template_type): Likewise.
+ * typeck.c (build_ptrmemfunc): Likewise.
+ (convert_for_assignment): Likewise.
+
+2006-02-03 Lee Millward <lee.millward@gmail.com>
+
+ * typeck.c (string_conv_p): Pass appropiate
+ OPT_Wxxxx values when calling warning().
+ (build_array_ref, cxx_mark_addressable): Likewise.
+ (check_return_expr): Likewise.
+
+ * init.c (perform_member_init): Likewise.
+ (sort_mem_initializers, emit_mem_initializers): Likewise.
+
+ * class.c (check_field_decls): Likewise.
+ (warn_about_ambiguous_bases): Likewise.
+
+ * decl.c (pop_label, poplevel): Likewise.
+ (duplicate_decls, grok_op_properties): Likewise.
+ (start_preparsed_function, finish_function): Likewise.
+
+ * name-lookup.c (pushdecl_maybe_friend): Likewise.
+ (pushdecl_maybe_friend): Likewise.
+
+ * parser.c (cp_parser_warn_min_max): Likewise.
+ (cp_parser_cast_expression): Likewise.
+
+ * method.c (lazily_declare_fn): Likewise.
+ * cvt.c (convert_to_void): Likewise.
+ * mangle.c (finish_mangling): Likewise.
+ * cp-gimplify.c (gimplify_expr_stmt): Likewise.
+
+2006-02-03 Mark Mitchell <mark@codesourcery.com>
+
+ * name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P,
+ not IDENTIFIER_OPNAME_P.
+
+2006-01-31 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25342
+ * cp-tree.h (DECL_TEMPLATE_SPECIALIZATIONS): Revise
+ documentation.
+ * pt.c (determine_specialization): Use INNERMOST_TEMPLATE_PARMS,
+ not TREE_VALUE.
+ (instantiate_class_template): Simplify.
+ (verify_class_unification): Remove.
+ (unify): Document parameters. Use INNERMOST_TEMPLATE_ARGS to
+ permit multiple levels of template arguments.
+ (more_specialized_class): Simplify.
+ (get_class_bindings): Pass full arguments to unify. Fold
+ verify_class_unification into this function. Return full
+ arguments.
+ (most_specialized_class): Adjust for changes to
+ get_class_bindings. Issue errors here for ambiguity. Return the
+ fully deduced arguments for the most specialized class, in
+ addition to the partial specialization.
+
+2006-01-31 Ben Elliston <bje@au.ibm.com>
+
+ * mangle.c: Comment fix.
+
+2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * Make-lang.in (cp-warn): Include CXX_COMPAT_WARN.
+ * repo.c (extract_string, afgets): Use cast when converting from
+ void *.
+
+2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * call.c (alloc_conversion): Use cast when converting from void *.
+ (alloc_conversions): Likewise.
+ (add_candidate): Likewise.
+ (print_z_candidates): Likewise.
+ (add_warning): Likewise.
+ * pt.c (retrieve_local_specialization): Likewise.
+ (process_partial_specialization): Likewise.
+ (mangle_class_name_for_template): Likewise.
+ (tsubst_template_args): Likewise.
+ * typeck2.c (pat_calc_hash): Likewise.
+ (pat_compare): Likewise.
+ (abstract_virtuals_error): Likewise.
+ * class.c (method_name_cmp): Likewise.
+ (resort_method_name_cmp): Likewise.
+ (get_vfield_name): Likewise.
+ * decl2.c (generate_ctor_and_dtor_functions_for_priority): Likewise.
+ * lex.c (init_reswords): Likewise.
+ * rtti.c (create_pseudo_type_info): Likewise.
+ * search.c (dfs_lookup_base): Likewise.
+ (dfs_dcast_hint_pre): Likewise.
+ (dfs_dcast_hint_post): Likewise.
+ * tree.c (hash_tree_cons): Likewise.
+ * repo.c (extract_string): Likewise.
+ (afgets): Likewise.
+ * cp-objcp-common.c (decl_shadowed_for_var_lookup): Likewise.
+ * g++spec.c (lang_specific_driver): Likewise.
+
+2006-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * call.c (joust): Pass option code to warning. Use inform for
+ explanation.
+ * class.c (check_bases): Likewise.
+ (maybe_warn_about_overly_private_class): Likewise.
+ (check_field_decls): Likewise.
+ (layout_empty_base): Likewise.
+ (layout_virtual_bases): Likewise.
+ (layout_class_type): Likewise.
+
+2006-01-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25999
+ * decl.c (start_preparsed_function): Call maybe_apply_pragma_weak
+ here, not ...
+ (start_function): ... here.
+
+2006-01-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25855
+ * class.c (resolve_address_of_overloaded_function): Adjust use of
+ return value from most_specialized_instantiation.
+ * pt.c (determine_specialization): Avoid multiple calls to
+ get_bindings.
+ (most_specialized_instantiation): When a tie occurs, set the
+ current presumed champion to the next template. Return the
+ TREE_LIST node containing the template, rather than the template
+ itself.
+ (most_specialized): Remove.
+ * name-lookup.c (push_overloaded_decl): When duplicate_decls
+ indicates a failed redeclaration, report that to callers.
+
+2006-01-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/16021
+ * name-lookup.c (parse_using_directive): Require strong using to
+ name a nested namespace.
+
+2006-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ Revert:
+ * cp-tree.h (do_poplevel): Remove prototype.
+ * semantics.c (do_poplevel): Add prototype. Make static.
+
+ Revert:
+ * cp-tree.h (default_conversion): Remove prototype.
+ * typeck.c (default_conversion): Make static.
+
+2006-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * cp-tree.h (get_primary_binfo): Remove prototype.
+ (push_using_decl): Likewise.
+ (current_template_args): Likewise.
+ (more_specialized_class): Likewise.
+ (mark_class_instantiated): Likewise.
+ (default_conversion): Likewise.
+ (pfn_from_ptrmemfunc): Likewise.
+ * class.c (get_primary_binfo): Add prototype, make static, simplify.
+ * name-lookup.c (push_using_decl): Make static.
+ * pt.c (current_template_args): Likewise.
+ (more_specialized_class): Likewise.
+ (mark_class_instantiated): Likewise.
+ * typeck.c (default_conversion): Make static.
+ (pfn_from_ptrmemfunc): Add prototype, make static.
+
+2006-01-24 Dirk Mueller <dmueller@suse.de>
+
+ * typeck.c (build_binary_op): Use OPT_Wfloat_equal in warning().
+
+2006-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/25552
+ * parser.c (cp_parser_unqualified_id): Check that destructor name
+ and scope match.
+ * call.c (check_dtor_name): Do not expect a BIT_NOT_EXPR.
+ Adjust comment. Return early if possible.
+ Use same_type_p to compare types.
+ * typeck.c (lookup_destructor): Adjust call to check_dtor_name.
+
+2006-01-24 Mark Mitchell <mark@codesourcery.com>
+
+ * semantics.c: Remove outdated comment.
+
+2006-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * cp-tree.h (do_poplevel): Remove prototype.
+ * semantics.c (do_poplevel): Add prototype. Make static.
+
+ * cp-tree.h (original_type): Remove prototype.
+ * typeck.c (original_type): Make static.
+
+ * cp-tree.h (declare_global_var): Remove prototype.
+ * decl.c (declare_global_var): Make static.
+
+ * cp-tree.h (implicitly_declare_fn): Remove prototype.
+ * method.c (implicitly_declare_fn): Make static.
+
+ * cp-tree.h (fold_decl_constant_value): Remove prototype.
+ * pt.c (fold_decl_constant_value): Make static.
+
+ * cp-tree.h (build_x_delete): Remove prototype.
+ * init.c (build_vec_delete_1): Call build_op_delete_call directly
+ and not via build_x_delete.
+ (build_x_delete): Remove.
+
+ * cp-tree.h (get_vtt_name): Remove prototype.
+ * class.c (get_vtt_name): Remove.
+ (build_vtt): Call mangle_vtt_for_type instead of get_vtt_name.
+
+2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * rtti.c (build_dynamic_cast): Fix comment.
+
+2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/10891
+ * rtti.c (build_dynamic_cast): Reject dynamic_cast use if
+ -fno-rtti.
+
+2006-01-21 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25895
+ * class.c (build_base_path): Generate a NOP_EXPR instead of a
+ COMPONENT_REF if the base and derived classes are at the same
+ address.
+
+ PR c++/25856
+ * decl.c (begin_destructor_body): Robustify.
+
+ PR c++/25858
+ * parser.c (cp_parser_direct_declarator): Robustify.
+
+2006-01-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * parser.c (cp_lexer_next_token_is_keyword): Simplify.
+
+ * parser.c (clear_decl_specs): Remove prototype.
+
+ * parser.c (cp_parser_expression_fn): Remove.
+
+ * call.c (add_builtin_candidates): Remove superfluous return.
+ * name-lookup.c (do_toplevel_using_decl): Likewise.
+ * parser.c (cp_parser_type_specifier_seq): Likewise.
+ (cp_parser_save_default_args): Likewise.
+
+2006-01-20 Dirk Mueller <dmueller@suse.com>
+
+ PR c++/5520
+ * semantics.c (finish_if_stmt): Call empty_body_warning.
+ * parser.c (cp_parser_implicitly_scoped_statement):
+ Mark empty statement with an empty stmt.
+
+2006-01-19 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/22136
+ * name-lookup.c (do_class_using_decl): Don't try to look up base
+ classes in templates with dependent base types.
+
+2006-01-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/25854
+ * pt.c (maybe_process_partial_specialization): Return early on
+ error_mark_node.
+
+2006-01-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/16829
+ * decl.c (start_preparsed_function): Check default arguments
+ unconditionally.
+ * name-lookup.c (pushdecl_maybe_friend): Check default arguments
+ of all functions and function templates.
+ * parser.c (cp_parser_late_parsing_default_args): Check default
+ arguments.
+ * decl2.c (check_default_args): Set missing default arguments to
+ error_mark_node.
+
+2006-01-18 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25836
+ * cp-tree.h (push_class_stack): New function.
+ (pop_class_stack): Likewise.
+ * class.c (class_stack_node): Add hidden field.
+ (pushclass): Clear it.
+ (push_class_stack): New function.
+ (pop_class_stack): Likewise.
+ (currently_open_class): Ignore hidden classes.
+ (currently_open_derived_class): Likewise.
+ * name-lookup.c (push_to_top_level): Call push_class_stack.
+ (pop_from_top_level): Call pop_class_stack.
+
+2006-01-18 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree.c (find_tree_t, find_tree): Remove.
+ * cp-tree.h: Remove the prototype for find_tree.
+
+2006-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * search.c (lookup_conversions_r): Fix a pasto.
+
+2006-01-17 Eric Christopher <echristo@apple.com>
+
+ * call.c (convert_like_real): When issuing conversion
+ warnings, depend on OPT_Wconversion.
+ * cvt.c (build_expr_type_conversion): Ditto.
+
+2006-01-17 Kazu Hirata <kazu@codesourcery.com>
+
+ * name-lookup.c (lookup_namespace_name): Remove.
+ * name-lookup.h: Remove the prototype for
+ lookup_namespace_name.
+
+2006-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/25682
+ * decl.c (compute_array_index_type): After issuing not an integral
+ constant-expression error, set size to 1 to avoid ICEs later on.
+
+2006-01-16 Ian Lance Taylor <ian@airs.com>
+
+ * parser.c: Include "cgraph.h".
+ (cp_parser_asm_definition): Call cgraph_add_asm_node rather than
+ assemble_asm.
+
+2006-01-16 Rafael �ila de Esp�dola <rafael.espindola@gmail.com>
+
+ * g++spec.c (lang_specific_spec_functions): Remove.
+
+2006-01-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * decl.c (check_initializer): Fix thinko.
+
+2006-01-14 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/25663
+ * parser.c (cp_parser_direct_declarator): Use cp_parser_error
+ instead of error.
+
+2006-01-13 Jason Merrill <jason@redhat.com>
+
+ * pt.c (check_explicit_specialization): Use CP_DECL_CONTEXT even more.
+
+ * name-lookup.c (set_decl_namespace): Use CP_DECL_CONTEXT.
+ * pt.c (check_explicit_specialization): Likewise.
+
2006-01-12 Jason Merrill <jason@redhat.com>
PR libstdc++/24660
* parser.c (cp_parser_primary_expression): Document the grammar
for the built-in offsetof, a GNU extension.
-2005-01-04 Zdenek Dvorak <dvorakz@suse.cz>
+2006-01-04 Zdenek Dvorak <dvorakz@suse.cz>
PR c++/25632
* init.c (constant_value_1): Unshare use of DECL_INITIAL. Fix a typo
2006-01-04 Chris Lattner <sabre@gnu.org>
- * typeck2.c: update copyright to 2006
- (split_nonconstant_init_1): Set TREE_CONSTANT to true.
+ * typeck2.c: update copyright to 2006
+ (split_nonconstant_init_1): Set TREE_CONSTANT to true.
2006-01-04 Mark Mitchell <mark@codesourcery.com>
c_lex_return_raw_strings.
(cp_lexer_get_preprocessor_token): Always initialize keyword
and pragma_kind fields. Handle CPP_PRAGMA.
- (cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when
+ (cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when
in_pragma is set.
(cp_lexer_handle_pragma): Remove. Update callers to cp_parser_pragma.
(cp_lexer_print_token) <CPP_PRAGMA>: Don't print as a string.
PR c++/25492
* name-lookup.c (push_class_level_binding): When a derived class
provides a type binding, eliminate any type binding from a base
- class.
+ class.
PR c++/25625
* repo.c (repo_emit_p): Always instantiate static data members
* cxx-pretty-print.c (pp_cxx_constant): New. Print
string-literal in parens if input program says so.
(pp_cxx_primary_expression): Hand off constant printing to
- pp_cxx_constant.
+ pp_cxx_constant.
(pp_cxx_pretty_printer_init): Set pp->c_base.constant.
- (pp_cxx_expression): Use pp_cxx_constant for literals.
+ (pp_cxx_expression): Use pp_cxx_constant for literals.
* error.c (dump_expr): Use pp_constant for literals.
2005-12-29 Nathan Sidwell <nathan@codesourcery.com>
PR c++/25439
* decl.c (grokdeclarator): Remove dead code.
* ptree.c (cxx_print_xnode): Handle BASELINK.
- * parser.c (make_id_declarator): Add sfk parameter.
+ * parser.c (make_id_declarator): Add sfk parameter.
(cp_parser_direct_declarator): Do not pass TYPE_DECLs to
make_id_declarator.
(cp_parser_declarator_id): Simplify BASELINKs here.
* decl.c (use_eh_spec_block): New function.
(store_parm_decls): Use it.
(finish_function): Likewise.
-
+
2005-12-19 Mark Mitchell <mark@codesourcery.com>
PR c++/24278
PR c++/24915
* class.c (add_method): Do not treat templates as identical unless
their return types are the same.
-
+
2005-12-12 Mark Mitchell <mark@codesourcery.com>
PR c++/25300
2005-12-10 Mark Mitchell <mark@codesourcery.com>
- PR c++/25337
+ PR c++/25337
* pt.c (tsubst_copy_and_build): Permit dependent types for the
object in a class member access expression.
* mangle.c (write_bare_function_type): Mangle return type for
methods of Java classes
-2005-12-08 Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
+2005-12-08 Th�dore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
* call.c (build_conditional_expr): Print types in error messages.
-
+
2005-12-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* expr.c (cxx_expand_expr): Call gcc_unreachable instead of abort.
* cp-gimplify.c (gimplify_cp_loop): Use fold_build3.
-2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+2005-12-07 Rafael �ila de Esp�dola <rafael.espindola@gmail.com>
* Make-lang.in (c++.all.build, c++.install-normal): Remove.
-2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+2005-12-07 Rafael �ila de Esp�dola <rafael.espindola@gmail.com>
* Make-lang.in: Remove all dependencies on s-gtype.
2005-12-06 Aldy Hernandez <aldyh@redhat.com>
PR C++/24138
- * decl.c (reshape_init_array_1): Handle max_index of -1.
+ * decl.c (reshape_init_array_1): Handle max_index of -1.
2005-12-06 Roger Sayle <roger@eyesopen.com>
2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
* parser.c (cp_lexer_new_main): Usr GGC_RESIZEVEC instead of
- ggc_realloc.
+ ggc_realloc.
(cp_parser_template_argument_list): Use XRESIZEVEC instead of
- xrealloc.
+ xrealloc.
* class.c (pushclass): Likewise.
2005-12-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
(cp_parser_template_argument_list): Use XNEWVEC, nto xmalloc.
(cp_parser_sizeof_operand): Likewise.
* repo.c (open_repo_file, open_repo_file): Likewise.
-
+
2005-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
* parser.c (cp_parser_make_typename_type): Call make_typename_type
2005-11-30 Jason Merrill <jason@redhat.com>
PR c++/21123
- * cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
+ * cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
parms in a thunk.
2005-11-30 Ben Elliston <bje@au.ibm.com>
PR c++/21667
* typeck.c (build_array_ref): Avoid code duplicate. Use common
- C/C++ diagnostic function warn_array_subscript_with_type_char.
+ C/C++ diagnostic function warn_array_subscript_with_type_char.
2005-11-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/8355
* decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
set_decl_namespace.
- * name-lookup.c (set_decl_namespace):
+ * name-lookup.c (set_decl_namespace):
2005-11-18 Mike Stump <mrs@apple.com>
* parser.c (cp_token): Add ambiguous_p.
(cp_lexer_get_preprocessor_token): Set it.
(cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
- when a qualified name uses an invalid scope.
+ when a qualified name uses an invalid scope.
(cp_parser_primary_expression): Print ambiguous candidates.
(cp_parser_type_parameter): Adjust comment to reflect new
parameter name for cp_parser_lookup_name.
when a lookup is ambiguous.
(cp_parser_lookup_name_simple): Adjust comment to reflect new
parameter name for cp_parser_lookup_name.
-
+
2005-11-12 Jakub Jelinek <jakub@redhat.com>
PR c++/24780
2005-11-08 Jason Merrill <jason@redhat.com>
PR c++/21123
- * method.c (use_thunk): Use build_cplus_new instead of
+ * method.c (use_thunk): Use build_cplus_new instead of
force_target_expr.
2005-11-06 Jason Merrill <jason@redhat.com>
(build_base_field): Adjust call.
(layout_class_type): Likewise. Maintain
sizeof_biggest_empty_class.
-
+
2005-11-05 Kazu Hirata <kazu@codesourcery.com>
* decl2.c, init.c, typeck.c: Fix comment typos.
PR c++/24569
* pt.c (instantiate_decl): Use cp_finish_decl, not
- finish_static_data_member_decl.
+ finish_static_data_member_decl.
2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
* decl.c (start_decl): Check that the decl is an
error_mark_node before getting the type.
Remove the check for the decl's type being an
- error_mark_node.
+ error_mark_node.
2005-10-21 Mark Mitchell <mark@codesourcery.com>
PR c++/24260
* parser.c (cp_parser_init_declarator): Pass attributes to
- grokfield.
+ grokfield.
2005-10-20 Mark Mitchell <mark@codesourcery.com>
PR c++/22173
* typeck.c (check_template_keyword): Fix thinko.
-
+
2005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/23959
build_qualified_name.
(cp_parser_id_expression): Default *template_p to
template_keyword_p. Check for invalid uses of the template
- keyword.
+ keyword.
(cp_parser_postfix_expression): Eliminate special handling for
qualified names. Adjust call to cp_parser_primary_expression.
(cp_parser_postfix_dot_deref_expression): Adjust call to
(cp_parser_template_argument): Adjust use of
cp_parser_primary_expression. Remove call to
finish_qualified_id_expr.
- (cp_parser_lookup_name): Use build_qualified_name.
+ (cp_parser_lookup_name): Use build_qualified_name.
* pt.c (tsubst): Use build_qualified_name.
(tsubst_qualified_id): Likewise. Adjust call to
finish_qualified_id_expr.
(tsubst_copy): Use build_qualified_name.
(tsubst_copy_and_build): Adjusts call to finish_id_expression and
- finish_class_member_access_expr.
+ finish_class_member_access_expr.
* semantics.c (finish_non_static_data_member): Use
build_qualified_name.
(finish_qualified_id_expr): Add template_p and template_arg_p
- parameters.
+ parameters.
(finish_id_expression): Remove qualifiying_class parameter. Add
template_p, done, address_p, and template_arg_p. Use
build_qualified_name. Adjust calls to
- finish_class_member_acess_expr.
+ finish_class_member_acess_expr.
* tree.c (build_qualified_name): New function.
* typeck.c (check_template_keyword): New function.
(finish_class_member_access_expr): Add template_p argument. Check
* call.c (build_new_method_call): Correct pretty-printing of
destructor names.
* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
- identifier.
+ identifier.
PR c++/23694
* decl.c (start_method): Return error_mark_node for errors.
PR c++/24052
* error.c (dump_expr): Pass LABEL_DECL to dump_decl. Print
- an ADDR_EXPR of a LABEL_DECL as &&.
+ an ADDR_EXPR of a LABEL_DECL as &&.
2005-10-12 Nathan Sidwell <nathan@codesourcery.com>
2005-10-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
Mark Mitchell <mark@codesourcery.com>
- PR c++/23437
+ PR c++/23437
* parser.c (cp_parser_template_argument_list): Do not treat
contents of argument list as part of a constant expression.
treat forward declarations of classes as templates just because
we're processing_template_decl.
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friend
- functions.
+ functions.
2005-09-26 Jason Merrill <jason@redhat.com>
PR c++/16171
* mangle.c (find_substitution): Do not use special substitutions
for identifiers not in std::.
-
+
2005-09-13 Mark Mitchell <mark@codesourcery.com>
PR c++/23839
PR c++/23842
* pt.c (tsubst_default_argument): Do treat default argument
- expressions as occurring in the context of the function called.
+ expressions as occurring in the context of the function called.
2005-09-12 Mark Mitchell <mark@codesourcery.com>
2005-08-15 Fariborz Jahanian <fjahanian@apple.com>
- * cp-tree.h (can_convert_arg, fn_type_unification): New argument.
- * call.c (add_template_candidate_real): Pass down 'flags' to
- fn_type_unification.
- (can_convert_arg): New 'flags' argument. Pass it to call to
- implicit_conversion instead of LOOKUP_NORMAL.
+ * cp-tree.h (can_convert_arg, fn_type_unification): New argument.
+ * call.c (add_template_candidate_real): Pass down 'flags' to
+ fn_type_unification.
+ (can_convert_arg): New 'flags' argument. Pass it to call to
+ implicit_conversion instead of LOOKUP_NORMAL.
(can_convert): Add LOOKUP_NORMAL to call to can_convert_arg.
- * class.c (resolve_address_of_overloaded_function): Ditto.
- (resolve_address_of_overloaded_function): Ditto.
- * decl.c (reshape_init, check_default_argument): Ditto.
- * typeck.c (build_ptrmemfunc): Ditto.
- * pt.c (type_unification_real): Add 'flags' argument.
- (fn_type_unification): Pass 'flags' to type_unification_real.
- (type_unification_real): Pass new 'flags' argument to call to
- can_convert_arg.
+ * class.c (resolve_address_of_overloaded_function): Ditto.
+ (resolve_address_of_overloaded_function): Ditto.
+ * decl.c (reshape_init, check_default_argument): Ditto.
+ * typeck.c (build_ptrmemfunc): Ditto.
+ * pt.c (type_unification_real): Add 'flags' argument.
+ (fn_type_unification): Pass 'flags' to type_unification_real.
+ (type_unification_real): Pass new 'flags' argument to call to
+ can_convert_arg.
2005-08-12 Giovanni Bajo <giovannibajo@libero.it>
Nathan Sidwell <nathan@codesourcery.com>
PR c++/21799
PR c++/8271
- * pt.c (unify) <METHOD_TYPE>: Check this-pointer cv-qualifiers
+ * pt.c (unify) <METHOD_TYPE>: Check this-pointer cv-qualifiers
explicitly.
-
+
2005-08-12 Nathan Sidwell <nathan@codesourcery.com>
PR c++/21799
2005-07-27 Devang Patel <dpatel@apple.com>
* name-lookup.c (pushtag): Do no set DECL_IGNORED_P bit.
-
+
2005-07-25 Ian Lance Taylor <ian@airs.com>
* ptree.c (cxx_print_identifier): Print a leading space if the
* semantics.c (perform_koenig_lookup): For dependent calls, just
return the set of functions we've found so far. Later, it will be
augmented by those found through argument-dependent lookup.
- * name-lookup.c (lookup_arg_dependent): Implement DR 164 by removing
+ * name-lookup.c (lookup_arg_dependent): Implement DR 164 by removing
the optimization that skips namespaces where the functions were
originally found.
* cp-tree.h (comp_ptr_ttypes_const): Declare.
* typeck.c (comp_ptr_ttypes_const): Give it external linkage.
Return bool.
-
+
2005-07-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
Nathan Sidwell <nathan@codesourcery.com>
* cp-tree (init_shadowed_var_for_decl): Add prototype.
2005-07-08 Daniel Berlin <dberlin@dberlin.org>
-
+
* Make-lang.in: Add gt-cp-lang.h.
- (cp-lang.o): Ditto.
+ (cp-lang.o): Ditto.
* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
the field.
* config-lang.in: Add cp-lang.c to gtfiles.
* decl.c (duplicate_decls): Update for new/updated structures.
(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
* decl2.c (start_static_initialization_or_destruction): Deal with
- priority.
+ priority.
* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
SET_DECL_RTL.
* tree.c (handle_init_priority_attribute): Handle priority.
* Makefile.in (class.o, decl2.o): Adjust dependencies.
* class.c: Include tree-dump.h.
* decl2.c: Include tree-dump.h.
-
+
2005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
* dump.c: Use dump_string_field.
diagnostics.
2005-07-02 Zack Weinberg <zack@codesourcery.com>
- Joseph S. Myers <joseph@codesourcery.com>
+ Joseph S. Myers <joseph@codesourcery.com>
* error.c (location_of): Add comment.
(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
or cp_pedwarn_at. Mark up some diagnostic strings with N_.
-2005-06-30 Daniel Berlin <dberlin@dberlin.org>
-
+2005-06-30 Daniel Berlin <dberlin@dberlin.org>
+
* decl.c (require_complete_types_for_parms): Call relayout_decl
instead of layout_decl.
PR middle-end/17544
* decl.c (finish_function): Fix comment. Annotate the compiler
generated return with the current file name and line 0.
-