1. 24 Oct, 2003 2 commits
    • re PR c++/11076 (ICE with invalid base class) · d9a50301
      	PR c++/11076
      	* class.c (handle_using_decl): Swap arguments of error_not_base_type.
      	* parser.c (cp_parser_direct_declarator): Only resolve typename for
      	namespace scope declarations.
      
      	* g++.dg/template/crash13.C: New test.
      
      From-SVN: r72897
      Kriang Lerdsuwanakij committed
    • PR c++/12698, c++/12699, c++/12700, c++/12566 · bb885938
      cp:
      	PR c++/12698, c++/12699, c++/12700, c++/12566
      	* cp-tree.h (THUNK_ALIAS_P, THUNK_ALIAS): New.
      	(debug_class, debug_thunks): New.
      	* class.c (dump_class_hierarchy_1): New break out from ...
      	(dump_class_hierarchy): ... here.
      	(dump_thunk, debug_thunks, debug_class): New.
      	(update_vtable_entry_for_fn): Add ssizetype casts. Correct
      	continued search for primary binfo via virtual.
      	(build_vtbl_initializer): Follow covariant thunk alias.
      	* method.c (make_thunk): Clear DECL_THUNKS of the thunk.
      	(finish_thunk): Look for an alias of the covariant thunk and point
      	to it.
      	(use_thunk): We should never use an alias.
      	* semantics.c (emit_associated_thunks): Do not emit aliases.
      
      	PR c++/12566
      	* cp-tree.h (cp_fname_init): Add TYPE pointer param.
      	* decl.c (cp_fname_init): Add TYPE pointer param. Set it. Don't
      	create an ad-hoc ERROR_MARK.
      	(cp_make_fname_decl): Adjust.
      	* pt.c (tsubst_expr): Adjust.
      testsuite:
      	PR c++/12698, c++/12699, c++/12700, c++/12566
      	* g++.dg/inherit/covariant9.C: New test.
      	* g++.dg/inherit/covariant10.C: New test.
      	* g++.dg/inherit/covariant11.C: New test.
      
      From-SVN: r72882
      Nathan Sidwell committed
  2. 23 Oct, 2003 1 commit
  3. 22 Oct, 2003 2 commits
    • call.c: Fix comment formatting. · 04c06002
      	* call.c: Fix comment formatting.
      	* class.c: Likewise.
      	* cxx-pretty-print.c: Likewise.
      	* init.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* semantics.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      
      From-SVN: r72828
      Kazu Hirata committed
    • re PR c++/11962 (ICE in type_dependent_expression on omitted second operand to… · 18fd68a8
      re PR c++/11962 (ICE in type_dependent_expression on omitted second operand to ?: in template argument expression)
      
      	PR c++/11962
      	* typeck.c (build_x_conditional_expr): Handle missing middle
      	operands in templates.
      	* mangle.c (write_expression): Issue errors about attempts to
      	mangle a non-existant middle operator to the ?: operator.
      
      	PR c++/11962
      	* g++.dg/template/cond2.C: New test.
      
      From-SVN: r72785
      Mark Mitchell committed
  4. 21 Oct, 2003 3 commits
  5. 20 Oct, 2003 4 commits
    • toplev.c (rest_of_compilation): Fix webizer pass ordering. · d4d1ebc1
      	* toplev.c (rest_of_compilation): Fix webizer pass ordering.
      
      	* cgraphunit.c (decide_is_function_needed):  Fix test dealing
      	with functions implicitly made inline.
      
      	* cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
      	(cgraph_finalize_function): Use it.
      	(cgraph_mark_inline): Allow incrmental decisions
      	* invoke.texi (max-inline-slope, min-inline-insns): Kill.
      	* params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
      	* tree-inline.c (limits_allow_inlining): Kill.
      	(expand_call_inline): Always use unit-at-a-time path.
      
      	* decl.c (start_cleanup_fn):  Set DECL_DECLARED_INLINE_P to deffer
      	the expansion.
      
      	* testsuite/g++.dg/opt/inline4.C: Do not use min-inline-insns
      	parameter.
      	* testsuite/gcc.dg/inline-2.c: Likewise.
      
      From-SVN: r72721
      Jan Hubicka committed
    • Makefile.in (install-info): Simplify. · 97ae108d
      	* Makefile.in (install-info): Simplify.
      	($(DESTDIR)$(infodir)/%.info): New rule.
      	* configure.in (target_list): Remove install-info.
      	* doc/.cvsignore (gcc.info*): Remove.
      	(gccint.info*): Likewise.
      	(gccinstall.info*): Likewise.
      	(cpp.info*): Likewise.
      	(cppinternals.info*): Likewise.
      	(*.info*): Add it.
      	* doc/sourcebuild.texi: Update description of install-info.
      	* objc/Make-lang.in (objc.install-info): Remove.
      
      2003-10-20  Mark Mitchell  <mark@codesourcery.com>
      
      	* Make-lang.in (ada.install-info): Remove target.
      	(info): New target.
      	(install-info): Likewise.
      	(gnat_ug_unx.info): Simplify rule.
      	(gnat_ug_vmx.info): Likewise.
      	(gnat_ug_vxw.info): Likewise.
      	(gnat_ug_wnt.info): Likewise.
      	(gnat_rm.info): Likewise.
      	(gnat-style.info): Likewise.
      
      2003-10-20  Mark Mitchell  <mark@codesourcery.com>
      
      	* Make-lang.in (c++.install-info): Remove.
      
      Mon Oct 20 13:49:43 2003  Mark Mitchell  <mark@codesourcery.com>
      
      	* Make-lang.in (.PHONY): Remove f77.info, f77.install-info.
      	(info): Update dependencies.
      	($(srcdir)/f/g77.info): Replace with ...
      	($(docobjdir)/g77.info): ... this.
      	(f77.install-info): Remove.
      	(install-info): New target.
      
      2003-10-20  Mark Mitchell  <mark@codesourcery.com>
      
      	* Make-lang.in (info): Update dependencies.
      	(java.install-info): Remove.
      	($(srcdir)/java/gcj.info): Replace with ...
      	($(docobjdir)/gcj.info): ... this.
      
      2003-10-20  Mark Mitchell  <mark@codesourcery.com>
      
      	* Make-lang.in (info): Use docobjdir.
      	($(srcdir)/treelang/treelang.info): Replace with ...
      	($(docobjdir)/treelang/treelang.info): ... this.
      	(install-info): New target.
      
      From-SVN: r72718
      Mark Mitchell committed
    • class.c (layout_class_type): Set DECL_ARTIFICIAL on padding field. · ea258926
              * class.c (layout_class_type): Set DECL_ARTIFICIAL on padding
              field.
      
      From-SVN: r72717
      Jason Merrill committed
    • PR c++/9781, c++/10583, c++/11862 · 11325dcd
      	PR c++/9781, c++/10583, c++/11862
      	* decl.c (cp_finish_decl): Exit immediately if decl is an
      	error_mark_node.
      	* pt.c (push_template_decl_real): Return error_mark_node for
      	invalid template declaration of variable.
      
      	* g++.dg/parse/crash13.C: New test.
      
      From-SVN: r72701
      Kriang Lerdsuwanakij committed
  6. 18 Oct, 2003 1 commit
  7. 17 Oct, 2003 1 commit
    • re PR c++/2513 (internal template template parameter causes ICE) · 9579624e
      	PR c++/2513
      	* decl.c (make_typename_type): Use dependent_type_p.
      	(make_unbound_class_template): Likewise.
      	* pt.c (instantiate_class_template): Increment
      	processing_template_decl during substitution of template friend
      	function.  Preincrement processing_template_decl rather than
      	postincrement.
      	(get_mostly_instantiated_function_type): Increment
      	processing_template_decl during partial substitution of function
      	type.
      
      	* g++.dg/template/typename5.C: New test.
      
      From-SVN: r72611
      Kriang Lerdsuwanakij committed
  8. 15 Oct, 2003 1 commit
  9. 14 Oct, 2003 4 commits
    • re PR c++/11878 (ICE in cp_expr_size) · 182609b5
              PR c++/11878
              * tree.c (build_target_expr_with_type): Call force_rvalue for
              classes with non-trivial copy ctors.
      
              PR c++/11063
              * typeck.c (build_modify_expr): Call convert rather than abort.
      
      From-SVN: r72494
      Jason Merrill committed
    • Breack out decl.c (3/n) · a5e6b29b
      	Breack out decl.c (3/n)
      	* name-lookup.c: Include flags.h
      	(lookup_name_current_level): Make static.
      	(add_decl_to_level): Likewise.
      	(push_local_binding): Likewise.
      	(push_overloaded_decl): Likewise.
      	(lookup_using_namespace): Likewise.
      	(qualified_lookup_using_namespace): Likewise.
      	(lookup_type_current_level): Likewise.
      	(unqualified_namespace_lookup): Likewise.
      	(namespace_ancestor): Likewise.
      	(push_using_directive): Likewise.
      	* decl.c (pushdecl): Move to name-lookup.c.
      	(pushdecl_top_level_1): Likewise.
      	(pushdecl_top_level): Likewise.
      	(pushdecl_top_level_and_finish): Likewise.
      	(maybe_push_decl): Likewise.
      	(push_using_decl): Likewise.
      	(push_overloaded_decl): Likewise.
      	(make_anon_name): Likewise.
      	(anon_cnt): Likewise.
      	(clear_anon_tags): Likewise.
      	(maybe_inject_for_scope_var): Likewise.
      	(check_for_out_of_scope_variable): Likewise.
      	* Make-lang.in (cp/name-lookup.o): Depend on flags.h.
      	* decl.c (warn_extern_redeclared_static): Export.
      	* cp-tree.h (warn_extern_redeclared_static): Declare.
      
      From-SVN: r72492
      Gabriel Dos Reis committed
    • config.gcc, [...]: Replace uses of target_alias with target_noncanonical. · 43aba518
      gcc:
      	* config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
      	target_alias with target_noncanonical.
      
      ada:
      	* Make-lang.in: Replace uses of $(target_alias) with
      	$(target_noncanonical).
      	* ada/Makefile.in: Remove unused mention of $(target_alias).
      
      cp:
      	* Make-lang.in: Replace uses of $(target_alias) with
      	$(target_noncanonical).
      
      java:
      	* Make-lang.in: Replace uses of $(target_alias) with
      	$(target_noncanonical).
      
      From-SVN: r72487
      Nathanael Nerode committed
    • name-lookup.h (cxx_scope_find_binding_for_name): Don't export. · 5a167978
      	* name-lookup.h (cxx_scope_find_binding_for_name): Don't export.
      	(binding_for_name): Likewise.
      	(cxx_binding_clear): Move to name-lookup.c.
      	* name-lookup.c (cxx_scope_find_binding_for_name): Now static.
      	(binding_for_name): Likewise.
      	* decl2.c (is_ancestor): Move to name-lookup.c
      	(namespace_ancestor): Likewise.
      	(add_using_namespace): Likewise.
      	(ambiguous_decl): Likewise.
      	(lookup_using_namespace): Likewise.
      	(qualified_lookup_using_namespace): Likewise.
      	(set_decl_namespace): Likewise.
      	(decl_namespace): Likewise.
      	(current_decl_namespace): Likewise.
      	(push_decl_namespace): Likewise.
      	(pop_decl_namespace): Likewise.
      	(push_scope): Likewise.
      	(pop_scope): Likewise.
      	(struct arg_lookup): Likewise.
      	(arg_assoc): Likewise.
      	(arg_assoc_args): Likewise.
      	(arg_assoc_type): Likewise.
      	(add_function): Likewise.
      	(arg_assoc_namespace): Likewise.
      	(arg_assoc_class): Likewise.
      	(arg_assoc_template_arg): Likewise.
      	(do_namespace_alias): Likewise.
      	(validate_nonmember_using_decl): Likewise.
      	(do_nonmember_using_decl): Likewise.
      	(do_toplevel_using_decl): Likewise.
      	(do_local_using_decl): Likewise.
      	(do_class_using_decl): Likewise.
      	(do_using_directive): Likewise.
      	(constructor_name_full): Likewise.
      	(constructor_name): Likewise.
      	(constructor_name_p): Likewise.
      
      From-SVN: r72462
      Gabriel Dos Reis committed
  10. 13 Oct, 2003 3 commits
    • re PR c++/12370 (wrong code when adding friend) · 88e451e1
      	PR c++/12370
      	* g++.dg/other/friend2.C: New test.
      	* ChangeLog: Add PR number to patch for PR c++/12370.
      
      From-SVN: r72446
      Volker Reichelt committed
    • Fix thinko. · 776fd336
      From-SVN: r72427
      Gabriel Dos Reis committed
    • Break out decl.c (2/n) · 00e8de68
      	Break out decl.c (2/n)
      	* name-lookup.c: Include diagnostic.h
      	(cxx_binding_free): Make static.
      	(cxx_binding_make): Likewise.
      	(binding_table_new): Likewise
      	(binding_table_free): Likewise.
      	(binding_table_insert): Likewise.
      	(binding_table_find_anon_type): Likewise.
      	(binding_table_reverse_maybe_remap): Likewise.
      	(supplement_binding): Likewise.
      	* name-lookup.h (global_scope_name): Declare extern.
      	(global_type_node): Likewise.
      	(cxx_binding_free): Don't export.
      	(cxx_binding_make): Likewise.
      	(binding_table_new): Likewise.
      	(binding_table_free): Likewise.
      	(binding_table_insert): Likewise.
      	(binding_table_find_anon_type): Likewise.
      	(binding_table_reverse_maybe_remap): Likewise.
      	* Make-lang.in (cp/name-lookup.o): Depend on $(DIAGNOSTIC_H)
      	* decl.c (lookup_namespace_name): Move to name-lookup.c
      	(select_decl): Likewise.
      	(unqualified_namespace_lookup): Likewise.
      	(lookup_qualified_name): Likewise.
      	(lookup_name_real): Likewise.
      	(lookup_name_nonclass): Likewise.
      	(lookup_function_nonclass): Likewise.
      	(lookup_name): Likewise.
      	(lookup_name_current_level): Likewise.
      	(lookup_type_current_level): Likewise.
      	(lookup_flags): Likewise.
      	(qualify_lookup): Likewise.
      	(lookup_tag): Likewise.
      	(lookup_tag_reverse): Likewise.
      	(getdecls): Likewise.
      	(storedecls): Remove.
      	(cxx_remember_type_decls): Likewise.
      	(global_bindings_p): Likewise.
      	(innermost_nonclass_level): Likewise.
      	(toplevel_bindings_p): Likewise.
      	(namespace_bindings_p): Likewise.
      	(kept_level_p): Likewise.
      	(innermost_scope_kind): Likewise.
      	(template_parm_scope_p): Likewise.
      	(push_binding): Likewise.
      	(push_local_binding): Likewise.
      	(add_decl_to_level): Likewise.  Make extern.
      	(push_class_binding): Move to name-lookup.c.
      	(resume_level): Likewise.  Rename to resume_scope.
      	(begin_scope): Likewise.
      	(indent): Likewise.
      	(binding_depth): Likewise.
      	(is_class_level): Likewise.
      	(cxx_scope_descriptor): Likewise.
      	(cxx_scope_debug): Likewise.
      	(namespace_scope_ht_size): Likewise.
      	(leave_scope): Likewise.
      	(pushlevel_class): Likewise.
      	(poplevel_class): Likewise.
      	(clear_identifier_class_values): Likewise.
      	(pushdecl_with_scope): Likewise.
      	(pushdecl_namespace_level): Likewise.
      	(pushdecl_class_level): Likewise.
      	(push_class_level_binding): Likewise.
      	(push_using_directive): Likewise.
      	(identifier_global_value): Likewise.
      	(keep_next_level_flag): Likewise.
      	(keep_next_level): Likewise.
      	(free_binding_level): Likewise.
      	(set_class_shadows): Likewise.
      	(maybe_push_cleanup_level): Likewise.
      	(cp_namespace_decls): Likewise.
      	(bt_print_entry): Likewise.
      	(print_binding_level): Likewise.
      	(print_other_binding_stack): Likewise.
      	(print_binding_stack): Likewise.
      	(push_namespace): Likewise.
      	(pop_namespace): Likewise.
      	(push_nested_namespace): Likewise.
      	(pop_nested_namespace): Likewise.
      	(cxx_saved_binding_make): Likewise.
      	(struct cxx_saved_binding_make): Likewise.
      	(store_bindings): Likewise.
      	(maybe_push_to_top_level): Likewise.
      	(push_to_top_level): Likewise.
      	(pop_from_top_level): Likewise.
      	(identifier_type_value): Likewise.
      	(set_identifier_type_value): Likewise.
      	(set_identifier_type_value_with_scope): Likewise.
      	(pop_everything): Likewise.
      	(pushtag): Likewise.
      	(follow_tag_typedef): Likewise.
      	(maybe_process_template_type_declaration): Likewise.
      	(pop_binding): Likewise.
      	* cp-tree.h: Move corresponding declarations to name-lookup.h
      
      From-SVN: r72426
      Gabriel Dos Reis committed
  11. 12 Oct, 2003 1 commit
  12. 09 Oct, 2003 3 commits
    • re PR middle-end/6392 (Problems with __restrict__ type qualifier (array)) · 4b011bbf
              PR c++/6392
              * cp/tree.c (build_cplus_array_type): Handle all quals the same.
              (cp_build_qualified_type_real): Look through arrays first.
              * c-common.c (c_build_qualified_type): Look through arrays first.
              (c_apply_type_quals_to_decl): Look through arrays.
      
              * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
              types with constructors.
      
      From-SVN: r72259
      Jason Merrill committed
    • tweak whitespace · e913996d
      From-SVN: r72256
      Jason Merrill committed
    • stmt.c (resolve_asm_operand_names): Call check_unique_operand_names here. · 1456deaf
              * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
              here.
              (expand_asm_operands): Not here.
              (parse_input_constraint): No longer static.
              * tree.h: Declare it.
      
              * coverage.c (build_ctr_info_value): Use build_decl to make a
              VAR_DECL.
              (create_coverage): Likewise.
      java/
              * parse.y (patch_assignment): Use make_node to create a BLOCK.
              * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
              POINTER_TYPE.
      cp/
              * tree.c (build_cplus_new): Use build_decl to create a VAR_DECL.
              (build_target_expr_with_type): Likewise.
      
              * pt.c (instantiate_class_template): Sanity check that our
              enclosing class has been instantiated.
      
      From-SVN: r72255
      Jason Merrill committed
  13. 08 Oct, 2003 1 commit
  14. 07 Oct, 2003 2 commits
  15. 06 Oct, 2003 1 commit
    • re PR bootstrap/12512 (Pattern rule for %.dvi breaks make dvi in objc) · 62b81e45
      	PR bootstrap/12512
      	* Makefile.in (info): Use double-colon rules.
      	(dvi): Likewise.
      	(generated-manpages): Likewise.
      	* configure.in: Do not create lang.info, lang.dvi, or
      	lang.generated-manpages hooks.
      	* configure: Regenerated.
      	* objc/Make-lang.in (objc.info): Remove.
      	(objc.dvi): Remove.
      	(objc.generated-manpages): Remove.
      	* doc/sourcebuild.texi: Update description of info, dvi, and
      	generated-manpages hooks.
      
      	* Make-lang.in (ada.info): Replace with ...
      	(info): ... this.
      	(ada.dvi): Replace with ...
      	(dvi): ... this.
      
      	* Make-lang.in (c++.info): Remove.
      	(c++.dvi): Remove.
      	(c++.generated-manpages): Replace with ...
      	(generated-manpages): ... this.
      
      	* Make-lang.in (f77.info): Replace with ...
      	(info): ... this.
      	(f77.dvi): Replace with ...
      	(dvi): ... this.
      	(f77.generated-manpages): Replace with ...
      	(generated-manpages): ... this.
      
      	* Make-lang.in (java.info): Replace with ...
      	(info): ... this.
      	(java.dvi): Replace with ...
      	(dvi): ... this.
      	(java.generated-manpages): Replace with ...
      
      	* Make-lang.in (treelang.info): Replace with ...
      	(info): ... this.
      	* Make-lang.in (treelang.dvi): Replace with ...
      	(dvi): ... this.
      
      From-SVN: r72135
      Mark Mitchell committed
  16. 03 Oct, 2003 2 commits
  17. 02 Oct, 2003 1 commit
  18. 30 Sep, 2003 3 commits
  19. 29 Sep, 2003 1 commit
  20. 28 Sep, 2003 2 commits
    • stmt.c (expand_asm_operands): Take a location_t, instead of individual file and line. · 177560b2
              * stmt.c (expand_asm_operands): Take a location_t, instead of
              individual file and line.
              * c-typeck.c (c_expand_asm_operands): Likewise.
              * tree.h (expand_asm_operands): Update decl.
              * c-common.h (c_expand_asm_operands): Likewise.
              * c-semantics (genrtl_asm_stmt): Update call.
      cp/
              * typeck.c (c_expand_asm_operands): Take location_t, instead of
              individual file and line.
      ada/
              * trans.c (tree_transform): Update call to expand_asm_operands.
      
      From-SVN: r71884
      Richard Henderson committed
    • c-decl.c (finish_function): Convert definition to ISO C90. · edaf3e03
      	* c-decl.c (finish_function): Convert definition to ISO C90.
      	* ifcvt.c (mark_loop_exit_edges): Likewise.
      	* ra-rewrite.c (emit_colors): Likewise.
      
      For cp:
      
      	* decl.c (cxx_builtin_type_decls): Convert to ISO C90 function
      	definition.
      	* init.c (push_base_cleanups): Likewise.
      	* decl2.c (finish_file): Likewise.
      	* mangle.c (init_mangle): Likewise.
      	(dump_substitution_candidates): Likewise.
      	* search.c: Likewise.
      
      From-SVN: r71872
      Andreas Jaeger committed
  21. 27 Sep, 2003 1 commit
    • name-lookup.h (get_global_value_if_present): New function. · c003e212
      	* name-lookup.h (get_global_value_if_present): New function.
      	(is_typename_at_global_scope): Likewise.
      	* except.c (do_begin_catch): Use get_global_value_if_present.
      	(do_end_catch): Likewise.
      	(do_allocate_exception): Likewise.
      	(do_free_exception): Likewise.
      	(build_throw): Likewise.
      	* parser.c (cp_parser_member_declaration): Likewise.
      	* rtti.c (throw_bad_cast): Likewise.
      	(throw_bad_typeid): Likewise.
      	* decl.c (check_tag_decl): Use is_typename_at_global_scope.
      	(grokdeclarator): Likewise.
      	* cp-tree.h (global_namespace): Move to name-lookup.h
      	* call.c (call_builtin_trap): Tidy.
      
      From-SVN: r71858
      Gabriel Dos Reis committed