aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
AgeCommit message (Collapse)AuthorFilesLines
2003-11-16Makefile.in, [...]: Create TAGS.sub files in each directory and TAGS files ↵Jason Merrill2-1/+8
that include them for... * Makefile.in, objc/Make-lang.in, ada/Make-lang.in, cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in: Create TAGS.sub files in each directory and TAGS files that include them for each front end. From-SVN: r73643
2003-11-15update commentJason Merrill1-2/+3
From-SVN: r73633
2003-11-15re PR c++/2294 (using declaration confusion)Bernardo Innocenti2-6/+9
PR c++/2294 * name-lookup.c: Revert previous patch for PR c++/2294 to prevent build failure on libjava. From-SVN: r73630
2003-11-14re PR c++/2294 (using declaration confusion)Giovanni Bajo2-3/+14
PR c++/2294 * name-lookup.c (push_overloaded_decl): Always construct an OVERLOAD unless the declaration is a built-in. (set_namespace_binding): While binding OVERLOADs with only one declaration, we still need to call supplement_binding. From-SVN: r73618
2003-11-14re PR c++/12762 (Much worse error message when using a typedef with a ↵Mark Mitchell2-31/+73
template arg) PR c++/12762 * parser.c (cp_parser_enclosed_template_argument_list): New function. (cp_parser_template_id): Use it. (cp_parser_simple_type_specifier): Recognize invalid template syntax. PR c++/12762 * g++.dg/template/error3.C: New test. From-SVN: r73610
2003-11-14re PR c++/2094 (unimplemented: use of `ptrmem_cst' in template type unification)Giovanni Bajo2-0/+28
PR c++/2094 * pt.c (unify): Add support for PTRMEM_CST and FIELD_DECL unification. From-SVN: r73577
2003-11-13* decl.c (grokfndecl): Change OK to type tree.Richard Earnshaw2-1/+5
From-SVN: r73549
2003-11-13re PR rtl-optimization/12275 ([unit-at-a-time] ICE in htab_clear_slot)Jan Hubicka2-2/+2
PR opt/12275 * c-decl.c (finish_decl): Use change_decl_assembler_name. * c-pragma.c (handle_pragma_redefine_extname): Likewise. * varasm.c (make_decl_rtl): Likewise. * cgraph.c (change_decl_assembler_name): New function. * tree.h (set_decl_assembler_name): Kill dead declaration. (change_decl_assembler_name): Declare. * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name. * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name. From-SVN: r73532
2003-11-12tree.c (build_target_expr_with_type): Treate VA_ARG_EXPR like CONSTRUCTOR.Mark Mitchell2-2/+7
* tree.c (build_target_expr_with_type): Treate VA_ARG_EXPR like CONSTRUCTOR. From-SVN: r73521
2003-11-12decl.c (cp_make_fname_decl): When creating a top-level __FUNCTION__-like ↵Mark Mitchell2-2/+6
symbol, do register it with pushdecl. * decl.c (cp_make_fname_decl): When creating a top-level __FUNCTION__-like symbol, do register it with pushdecl. From-SVN: r73515
2003-11-12decl.c (finish_case_label): Do not check that we are within a switch ↵Mark Mitchell3-19/+66
statement here. * decl.c (finish_case_label): Do not check that we are within a switch statement here. * parser.c (struct cp_parser): Add in_iteration_statement_p and in_switch_statement_p. (cp_parser_new): Initialize them. (cp_parser_labeled_statement): Check validity of case labels here. (cp_parser_selection_statement): Set in_switch_statement_p. (cp_parser_iteration_statement): Set in_iteration_statement_p. (cp_parser_jump_statement): Check validity of break/continue statements here. From-SVN: r73508
2003-11-12re PR c++/12735 (duplicate error messages for redeclaration errors)Mark Mitchell5-54/+91
PR c++/12735 * cp-tree.h (duplicate_decls): Return a tree. * decl.c (duplicate_decls): Clarify documentation. Return error_mark_node to indicate a failed redeclaration. * friend.c (do_friend): Handle that case. * name-lookup.c (pushdecl): Likewise. From-SVN: r73503
2003-11-11cp-tree.h (DECL_NAMESPACE_ASSOCIATIONS): New macro.Jason Merrill6-3/+88
* cp-tree.h (DECL_NAMESPACE_ASSOCIATIONS): New macro. * name-lookup.c (parse_using_directive): New fn. (is_associated_namespace): New fn. (arg_assoc_namespace): Also check associated namespaces. * name-lookup.h: Declare new fns. * pt.c (maybe_process_partial_specialization): Allow specialization in associated namespace. * parser.c (cp_parser_using_directive): Accept attributes. Use parse_using_directive. From-SVN: r73468
2003-11-10* cvt.c (convert_to_void): Use void_zero_node after overload failure.Richard Henderson2-0/+5
From-SVN: r73427
2003-11-10re PR c++/12832 (ICE: tree check: expected class 'd', have 'x' (error_mark) ↵Gabriel Dos Reis2-4/+13
in location_of, at cp/error.c:1962) PR c++/12832 * name-lookup.c (supplement_binding): Gracefully handle names used at non-class scope prior declaration. From-SVN: r73406
2003-11-06c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY field instead ↵Matt Austern4-0/+9
of hanging an attribute object off the decl. * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY field instead of hanging an attribute object off the decl. * tree.h (DECL_VISIBLITY): New accessor macro for symbol_visibility field in struct tree_decl. (enum symbol_visibility): Move definition to before tree_decl. (struct tree_decl): Define new two-bit field, symbol_visibility. (decl_visibility): Remove declaration. * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY instead of decl_visibility. (default_binds_local_p_1): Use DECL_VISIBILITY instead of decl_visibility. (decl_visibility): Remove. * cp/decl.c (duplicate_decls): copy DECL_VISIBILITY field. * cp/method.c (use_thunk): give thunk same visibility as function. * cp/optimize.c (maybe_clone_body): copy DECL_VISIBILITY field. From-SVN: r73320
2003-11-05re PR c++/11616 (Error message "instantiated from here" gives wrong location)Kriang Lerdsuwanakij2-0/+8
PR c++/11616 * pt.c (instantiate_pending_templates): Save and restore input_location. * g++.dg/template/instantiate5.C: New test. From-SVN: r73269
2003-11-05re PR c++/2019 (Wrong line number warning listing the previous declaration ↵Kriang Lerdsuwanakij2-6/+8
of a befriended function) PR c++/2019 * friend.c (add_friend): Don't display previous declaration in case of duplicate friend warning. From-SVN: r73268
2003-11-02re PR c++/9810 (Using-declaration for template functions does not work)Kriang Lerdsuwanakij2-1/+39
PR c++/9810 * call.c (build_over_call): Check access using primary template if FN is a member function template. * g++.dg/template/using8.C: New test. * g++.old-deja/g++.other/access11.C: Adjust expected error location. From-SVN: r73201
2003-11-01re PR c++/12796 (Wrong line number in error message)Kriang Lerdsuwanakij2-0/+10
PR c++/12796 * class.c (handle_using_decl): Set input_location before calling error_not_base_type. From-SVN: r73174
2003-10-26re PR c++/10371 (misleading error message for illegal member access)Kriang Lerdsuwanakij2-1/+14
PR c++/10371 * semantics.c (finish_non_static_data_member): Handle when both processing_template_decl and qualifying_scope are true. * g++.dg/lookup/scoped8.C: New test. From-SVN: r72950
2003-10-24re PR c++/11076 (ICE with invalid base class)Kriang Lerdsuwanakij3-2/+10
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
2003-10-24PR c++/12698, c++/12699, c++/12700, c++/12566Nathan Sidwell7-43/+184
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
2003-10-23re PR c++/12726 (ICE (segfault) on trivial code)Jason Merrill2-2/+10
PR c++/12726 * tree.c (build_target_expr_with_type): Don't call force_rvalue for CONSTRUCTORs. From-SVN: r72837
2003-10-22call.c: Fix comment formatting.Kazu Hirata11-24/+37
* 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
2003-10-22re PR c++/11962 (ICE in type_dependent_expression on omitted second operand ↵Mark Mitchell3-3/+27
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
2003-10-21decl.c (cp_finish_decl): Remove clause intended for asm directives in struct ↵Robert Bowdidge2-10/+6
or class fields... * cp/decl.c (cp_finish_decl): Remove clause intended for asm directives in struct or class fields: this code is never executed. From-SVN: r72775
2003-10-21decl.c (start_decl): Exit if push_template_decl returns error_mark_node.Kriang Lerdsuwanakij2-0/+7
* decl.c (start_decl): Exit if push_template_decl returns error_mark_node. From-SVN: r72760
2003-10-21ChangeLog: Fix typos.Kazu Hirata16-36/+55
* ChangeLog: Fix typos. * call.c: Fix comment typos. * class.c: Likewise. * cp-tree.h: Likewise. * cvt.c: Likewise. * cxx-pretty-print.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * init.c: Likewise. * mangle.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. From-SVN: r72737
2003-10-20toplev.c (rest_of_compilation): Fix webizer pass ordering.Jan Hubicka2-0/+7
* 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
2003-10-20Makefile.in (install-info): Simplify.Mark Mitchell2-3/+5
* 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
2003-10-20class.c (layout_class_type): Set DECL_ARTIFICIAL on padding field.Jason Merrill2-2/+8
* class.c (layout_class_type): Set DECL_ARTIFICIAL on padding field. From-SVN: r72717
2003-10-20PR c++/9781, c++/10583, c++/11862Kriang Lerdsuwanakij3-2/+15
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
2003-10-18re PR c++/12495 (ICE in cp/typeck.c:907)Kriang Lerdsuwanakij2-8/+12
PR c++/12495 * pt.c (lookup_template_class): Handle when current_class_type is a local class. * g++.dg/template/crash21.C: New test. From-SVN: r72643
2003-10-17re PR c++/2513 (internal template template parameter causes ICE)Kriang Lerdsuwanakij3-10/+33
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
2003-10-15problem that current decl duplication mechanizm > > /* If we didn't remap ↵Jan Hubicka2-10/+20
this variable... problem that current decl duplication mechanizm > > /* If we didn't remap this variable, so we can't mess with its > TREE_CHAIN. If we remapped this variable to the return slot, it's From-SVN: r72539
2003-10-14re PR c++/11878 (ICE in cp_expr_size)Jason Merrill3-2/+18
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
2003-10-14Breack out decl.c (3/n)Gabriel Dos Reis6-841/+871
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
2003-10-14config.gcc, [...]: Replace uses of target_alias with target_noncanonical.Nathanael Nerode2-2/+7
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
2003-10-14name-lookup.h (cxx_scope_find_binding_for_name): Don't export.Gabriel Dos Reis5-1195/+1227
* 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
2003-10-13re PR c++/12370 (wrong code when adding friend)Volker Reichelt1-0/+5
PR c++/12370 * g++.dg/other/friend2.C: New test. * ChangeLog: Add PR number to patch for PR c++/12370. From-SVN: r72446
2003-10-13Fix thinko.Gabriel Dos Reis1-2/+2
From-SVN: r72427
2003-10-13Break out decl.c (2/n)Gabriel Dos Reis6-2330/+2393
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
2003-10-12c-common.c (c_common_truthvalue_conversion): Warn if the address of a ↵Steven Bosscher2-14/+6
non-weak function is used as a truth value. gcc/ * c-common.c (c_common_truthvalue_conversion): Warn if the address of a non-weak function is used as a truth value. cp/ * cvt.c (ocp_convert): Move warning to C common code. testsuite/ * gcc.dg/weak/weak-3.c: Fix for new warning. From-SVN: r72409
2003-10-09re PR middle-end/6392 (Problems with __restrict__ type qualifier (array))Jason Merrill2-54/+56
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
2003-10-09tweak whitespaceJason Merrill1-2/+2
From-SVN: r72256
2003-10-09stmt.c (resolve_asm_operand_names): Call check_unique_operand_names here.Jason Merrill3-3/+22
* 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
2003-10-08cp_tree.h: Added TFF_NO_FUNCTION_ARGUMENTS.Giovanni Bajo3-4/+15
* cp_tree.h: Added TFF_NO_FUNCTION_ARGUMENTS. * error.c (dump_function_decl): Use it to skip the dump of the arguments. (dump_expr): When dumping a declaration found within an expression, always set TFF_NO_FUNCTION_ARGUMENTS in the flags. From-SVN: r72215
2003-10-08re PR c++/11097 (using template operator is broken)Giovanni Bajo2-0/+8
PR c++/11097 * pt.c (tsubst_decl): Substitute also the DECL_NAME node of USING_DECL. From-SVN: r72208
2003-10-07re PR c++/10147 (Confusing error message for invalid template function argument)Mark Mitchell6-9/+30
PR c++/10147 * call.c (initialize_reference): Tweak error message. PR c++/12337 * init.c (build_new_1): Make sure that the expression returned is not an lvalue. PR c++/12344, c++/12236, c++/8656 * decl.c (start_function): Do not ignore attributes embedded in a function declarator. PR c++/12337 * g++.dg/init/new9.C: New test. PR c++/12334, c++/12236, c++/8656 * g++.dg/ext/attrib8.C: New test. From-SVN: r72183