summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja
Commit message (Collapse)AuthorAgeFilesLines
* PR c++/14668mmitchel2004-05-281-1/+1
| | | | | | | | | | | | * parser.c (cp_parser_simple_type_specifier): Call maybe_note_name_used_in_class. PR c++/14668 * g++.dg/lookup/redecl1.C: New test. * g++.old-deja/g++.benjamin/tem04.C: Add error marker. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82375 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge tree-ssa-20020619-branch into mainline.dnovillo2004-05-134-13/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81764 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/target-supports.exp (check_named_sections_available): New.zack2004-04-092-12/+2
| | | | | | | | | | | | | | * lib/gcc-dg.exp (dg-require-named-sections): New. * lib/prune.exp (prune_gcc_output): Incorporate prunes from old-deja.exp. Also prune error-count message from HP linker. * g++.old-deja/old-deja.exp (g++-dg-prune): Delete. * g++.dg/init/init-ref4.C: Use dg-require-weak. * g++.old-deja/g++.pt/static3.C: Likewise. * g++.dg/parse/attr-ctor1.C: Use dg-require-named-sections. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80572 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2004-04-022-4/+4
| | | | | | | | | | | | | | | | | PR c++/14007 * pt.c (check_cv_quals_for_unify): Correct logic for disallowed cv-qualifier unification. * tree.c (cp_build_qualified_type_real): Renable DR295 logic. testsuite: PR c++/14007 * g++.dg/template/unify5.C: New. * g++.dg/template/unify6.C: New. * g++.dg/template/qualttp20.C: Adjust. * g++.old-deja/g++.jason/report.C: Adjust. * g++.old-deja/g++.other/qual1.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80351 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (build_op_delete_call): Do not forget the placementmmitchel2004-03-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arguments when iterating through mutiple delete operators. * cp-tree.h (svaed_scope): Remove last_parms. (NEW_DELETE_OPNAME_P): New macro. (last_function_parms): Remove. (do_friend): Adjust prototype. * decl.c (grokparms): Return the PARM_DECLs directly, rather than using last_function_parms. (grokfndecl): Take the PARM_DECLs as an argument, rather than using last_function_parms. (grokdeclarator): Adjust accordingly. Do not form METHOD_TYPEs for class-specific operator new and operator delete. (grok_op_properties): Do not look for allocation functions with METHOD_TYPEs. (start_function): Use DECL_ARGUMENTS instead of last_function_parms. * decl.h (last_function_parms): Do not declare. * decl2.c (grokclassfn): Do not use last_function_parms. * friend.c (do_friend): Remove parmdecls parameter. * name-lookup.c (push_to_top_level): Do not save last_function_parms. (pop_from_top_level): Do not restore it. * pt.c (check_explicit_specialization): Do not adjust last_function_parms. * name-lookup.c (do_local_using_decl): Create a local binding for types brought in via using declarations. * name-lookup.c (lookup_arg_dependent): Handle block-scope function declarations correctly. * semantics.c (finish_id_expression): Correct handling of conversion operators to dependent types. * typeck.c (lookup_destructor): Allow the use of destructors from base classes. * g++.dg/init/placement3.C: New test. * g++.dg/template/spec13.C: New test. * g++.dg/lookup/using11.C: New test. * g++.dg/lookup/koenig3.C: New test. * g++.dg/template/operator2.C: New test. * g++.dg/expr/dtor3.C: New test. * g++.old-deja/g++.brendan/crash15.C: Remove incorrect dg-error marker. * g++.old-deja/g++.law/visibility28.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79722 138bc75d-0d04-0410-961f-82ee72b054a4
* Index: cp/ChangeLoggeoffk2004-03-048-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-04 Geoffrey Keating <geoffk@apple.com> * decl.c (grokfndecl): Update old incorrect comment. (grokvardecl): Diagnose C++ variables of type with no linkage. Index: testsuite/ChangeLog 2004-03-04 Geoffrey Keating <geoffk@apple.com> * g++.old-deja/g++.other/linkage1.C: Expect errors about global variables of a type with no linkage. * g++.old-deja/g++.other/qual1.C: Name class for 'action'. * g++.old-deja/g++.mike/misc13.C: Name enum for 'want'. * g++.old-deja/g++.bugs/900210_01.C: Name enum for 'ep'. * g++.old-deja/g++.bugs/900210_02.C: Likewise. * g++.old-deja/g++.bugs/900210_03.C: Likewise. * g++.old-deja/g++.brendan/bit-fields2.C: Name structure for 's'. * g++.old-deja/g++.brendan/init10.C: Name structure for 'a'. * g++.dg/warn/deprecated.C: Name enum Color. * g++.dg/overload/VLA.C: Name structure for 'b'. * g++.dg/lookup/anon2.C: Expect diagnostic about type linkage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78939 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/14360mmitchel2004-03-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | * parser.c (cp_parser_postfix_expression): Do not perform Koenig lookup if ordinary name-lookup finds a non-function. * pt.c (tsubst_copy_and_build): Likewise. PR c++/14361 * parser.c (cp_parser_late_parsing_default_args): Check that there are no extra tokens after the end of the default-argument expression. PR c++/14360 * g++.old-deja/g++.ns/koenig5.C: Remove some error markers. PR c++/14361 * g++.dg/parse/defarg7.C: New test. PR c++/14359 * g++.dg/template/friend26.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78739 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/target-supports.exp (check_profiling_available): Checkghazi2004-02-211-2/+2
| | | | | | | | | | | | | | | | argument to determine whether we support a profiling type. * lib/gcc-dg.exp (dg-require-profiling): Pass argument to check_profiling_available. * g++.dg/bprob/bprob.exp: Likewise * g77.dg/bprob/bprob.exp: Likewise. * gcc.misc-tests/bprob.exp: Likewise. * g++.old-deja/g++.law/profile1.C: Pass profiling type to dg-require-profiling and delete expected error handling. * gcc.dg/20021014-1.c: Likewise. * gcc.dg/nest.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78206 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/file-format.exp (gcc_target_object_format): Usemmitchel2004-02-051-1/+3
| | | | | | | | | | | | ${tool}_target_compile, not gcc_target_compile. * lib/target-supports.exp (check_alias_available): Likewise. (check_gc_sections_available): Likewise. * g++.dg/ext/attrib10.C: Use dg-require-alias. * g++.old-deja/g++.ext/attrib5.C: Use dg-require-weak and dg-require-alias. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77295 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/13975mmitchel2004-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and TI_PRIVATE. (access_public_node): Redefine. (access_protected_node): Likewise. (access_private_node): Likewise. * tree.c (build_common_tree_nodes): Create access_public_node, access_protected_node, and access_private_node. PR c++/13978 * pt.c (build_non_dependent_expr): Do not build NON_DEPENDENT_EXPRs for FUNCTION_DECLs or TEMPLATE_DECLs. PR c++/13968 * semantics.c (finish_id_expression): Do not return an IDENTIFIER_NODE when lookup finds a VAR_DECL. PR c++/13975 * parser.c (cp_parser_simple_declaration): When skipping to the end of the statement swallow the terminating semicolon. PR c++/13978 * g++.dg/template/koenig4.C: New test. PR c++/13968 * g++.dg/template/crash17.C: New test. PR c++/13975 * g++.dg/parse/error13.C: New test. * g++.old-deja/g++.robertl/eb125.C: Tweak error messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77176 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/13113mmitchel2004-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * init.c (build_offset_ref): Improve error recovery for invalid uses of non-static member functions. PR c++/13854 * cp-tree.h (cp_build_type_attribute_variant): New function. * class.c (build_clone): Use cp_build_type_attribute_variant. * decl.c (duplicate_decls): Likewise. * pt.c (copy_default_args_to_explicit_spec): Likewise. (tsubst_function_type): Likewise. * tree.c (build_exception_variant): Check attributes before concluding that two types are the same. (cp_build_type-attribute_variant): New method. * typeck.c (merge_types): Use cp_build_type_attribute_variant. PR c++/13907 * call.c (convert_class_to_reference): Keep better track of pedantically invalid user-defined conversions. PR c++/13113 * g++.old-deja/g++.mike/net36.C: Adjust error messages. PR c++/13854 * g++.dg/ext/attrib13.C: New test. PR c++/13907 * g++.dg/conversion/op2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77127 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/8856giovannibajo2004-01-151-35/+0
| | | | | | | | * g++.dg/parse/casting-operator2.C: New test. * g++.old-deja/g++.pt/explicit83.C: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75898 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/4100ian2004-01-121-1/+1
| | | | | | | | | * g++.dg/parse/friend4.C: New test. * g++.old-deja/g++.pt/niklas01a.C: Mark an error where a class definition is called a friend. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75727 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.jason/thunk2.C: Remove traces of deadkazu2003-12-303-3/+3
| | | | | | | | | | | | | | | ports. * g++.old-deja/g++.jason/thunk3.C: Likewise. * g++.old-deja/g++.law/profile1.C: Likewise. * gcc.c-torture/compile/981006-1.c: Likewise. * gcc.c-torture/execute/loop-2e.x: Likewise. * gcc.c-torture/execute/loop-2f.x: Remove. * gcc.c-torture/execute/loop-2g.x: Likewise. * gcc.c-torture/execute/strct-varg-1.x: Likewise. * gcc.dg/20020312-2.c: Remove traces of dead ports. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75240 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.pt/static11.C: Correct XFAIL syntax.mmitchel2003-12-301-5/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75219 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/12403lerdsuwa2003-12-291-1/+1
| | | | | | | | | | | * parser.c (cp_parser_template_declaration_after_export): Set up template specialization scope in case of explicit specialization. * g++.dg/parse/explicit1.C: New test. * g++.old-deja/g++.pt/explicit71.C: Adjust expected error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75199 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/gcc-dg.exp (dg-require-profiling): New function.mmitchel2003-12-231-0/+1
| | | | | | | | | | | | | * lib/target-supports.exp (check_profiling_available): Likewise. * g++.dg/bprob/bprob.exp: Use check_profiling_available. * g77.dg/bprob/bprob.exp: Likewise. * gcc.misc-tests/bprob.exp: Likewise. * g++.old-deja/g++.law/profile1.C: Use dg-require-profiling. * gcc.dg/20021014-1.c: Likewise. * gcc.dg/nest.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74995 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (flag_external_templates): Remove.mmitchel2003-12-222-58/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (flag_alt_external_templates): Likewise. * c-common.h (flag_external_templates): Remove. (flag_alt_external_templates): Likewise. * c-opts.c (c_common_handle_option): Unsupport -falt-external-templates and -ftemplates. * doc/invoke.texi: Remove mention of -fexternal-templates and -falt-external-templates. * decl.c (start_function): Do not check flag_alt_external_templates or flag_external_templates. * decl2.c (warn_if_unknown_interface): Likewise. * lex.c (extract_interface_info): Likewise. * pt.c (lookup_template_class): Likewise. PR c++/12862 * name-lookup.c (pushdecl): Look up all namespace-scope entities in their corresponding namespace. * g++.old-deja/g++.jason/template18.C: Remove. * g++.old-deja/g++.jason/template37.C: Likewise. PR c++/12862 * g++.dg/lookup/ns1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74954 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak toljrittle2003-12-161-1/+19
| | | | | | | pass with -pthread on FreeBSD systems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74689 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.pt/vaarg3.C: Don't expect an error for passinggeoffk2003-12-151-1/+1
| | | | | | | a non-POD type as the last named parameter of a varargs function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74647 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h (c_parse_error): Declare it.mmitchel2003-12-152-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (c_parse_error): New function. * c-parse.y (yyerror): Use it. * parser.c (struct cp_parser): Add in_template_argument_list_p. (cp_parser_error): Use c_parse_error. (cp_parser_name_lookup_error): New function. (cp_parser_new): Initialize it. (cp_parser_declarator): Add parenthesized_p parameter. (cp_parser_nested_name_specifier_opt): Use cp_parser_name_lookup_error. (cp_parser_parenthesized_expression_list): Improve comments. (cp_parser_condition): Adjust call to cp_parser_declarator. (cp_parser_template_parameter): Adjust call to cp_parser_parameter_declaration. (cp_parser_template_argument_list): Set in_template_argument_list_p. (cp_parser_explicit_instantiation): Adjust call to cp_parser_declarator. (cp_parser_simple_type_specifier): Remove unncessary code. (cp_parser_using_declaration): Use cp_parser_name_lookup_error. (cp_parser_init_declarator): Handle member function definitions. (cp_parser_direct_declarator): Adjust call to cp_parser_declarator. (cp_parser_type_id): Adjust call to cp_parser_declarator. (cp_parser_parameter_declaration_list): Avoid backtracking where possible. (cp_parser_parameter_declaration): Add parenthesized_p parameter. (cp_parser_function_definition): Remove. (cp_parser_member_declaration): Do not backtrack to look for function definitions. (cp_parser_exception_declaration): Adjust call to cp_parser_declarator. (cp_parser_single_declaration): Handle function definitions via cp_parser_init_declarator. (cp_parser_save_member_function_body): New function. PR c++/10779 PR c++/12160 * g++.dg/parse/error3.C: New test. * g++.dg/parse/error4.C: Likewise. * g++.dg/abi/mangle4.C: Tweak error messages. * g++.dg/lookup/using5.C: Likewise. * g++.dg/other/error2.C: Likewise. * g++.dg/parse/typename5.C: Likewise. * g++.dg/parse/undefined1.C: Likewise. * g++.dg/template/arg2.C: Likewise. * g++.dg/template/ttp3.C: Likewise. * g++.dg/template/type1.C: Likewise. * g++.old-deja/g++.other/crash32.C: Likewise. * g++.old-djea/g++.pt/defarg8.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74624 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/5369lerdsuwa2003-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * friend.c (is_friend): Handle member function of a class template as template friend. (do_friend): Likewise. * decl2.c (check_classfn): Add template_header_p parameter. * decl.c (start_decl): Adjust check_classfn call. (grokfndecl): Likewise. * pt.c (is_specialization_of_friend): New function. (uses_template_parms_level): Likewise. (push_template_decl_real): Use uses_template_parms_level. (tsubst_friend_function): Adjust check_classfn call. * cp-tree.h (check_classfn): Adjust declaration. (uses_template_parms_level): Add declaration. (is_specialization_of_friend): Likewise. * g++.dg/template/memfriend1.C: New test. * g++.dg/template/memfriend2.C: Likewise. * g++.dg/template/memfriend3.C: Likewise. * g++.dg/template/memfriend4.C: Likewise. * g++.dg/template/memfriend5.C: Likewise. * g++.dg/template/memfriend6.C: Likewise. * g++.dg/template/memfriend7.C: Likewise. * g++.dg/template/memfriend8.C: Likewise. * g++.old-deja/g++.pt/friend44.C: Remove a bogus error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73833 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-03 Gernot Hillier <gernot.hillier@siemens.com>aj2003-11-051-1/+1
| | | | | | | * g++.old-deja/g++.pt/asm1.C: Enable for e.g. x86_64-*-linux-gnu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73271 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/9810lerdsuwa2003-11-021-2/+2
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73201 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/12796lerdsuwa2003-11-011-3/+3
| | | | | | | | * g++.dg/template/crash13.C: Adjust expected error location. * g++.old-deja/g++.brendan/ns1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73175 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/template/friend19.C: Fix typo.lerdsuwa2003-09-281-4/+1
| | | | | | | * g++.old-deja/g++.other/crash31.C: Adjust expected error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71879 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/5655lerdsuwa2003-09-251-1/+2
| | | | | | | | | | | | * parser.c (cp_parser_check_access_in_redeclaration): New function. (cp_parser_member_declaration): Use it. (cp_parser_template_declaration_after_export): Likewise. * g++.dg/parse/access7.C: New test. * g++.old-deja/g++.brendan/crash56.C: Fix redeclaration error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71771 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-05 Andrew Pinski <pinskia@physics.uc.edu>pinskia2003-09-052-2/+2
| | | | | | | | | * g++.old-deja/g++.ext/pretty2.C: Update for change in __FUNCTION__. * g++.old-deja/g++.ext/pretty3.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71114 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/opt/ptrmem3.C: New test.mmitchel2003-08-271-1/+1
| | | | | | | * g++.old-deja/g++.pt/overload8.C: Remove XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70851 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.ext/attrib5.C: XFAIL on hppa2*-hp-hpux11*.mmitchel2003-08-231-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70717 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11946mmitchel2003-08-203-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of NOP_EXPR) when necessary. * c-common.c (c_common_signed_or_unsigned_type): Correctly handle types with precisions other than those given by native machine modes. PR c++/11684 * cp-tree.h (grok_op_properties): Change prototype. * decl.c (grok_op_properties): Add complain parameter. (grokfndecl): Pass it. * pt.c (tsubst_decl): Adjust accordingly. PR c++/10926 * decl.c (start_method): Return immediately if push_template_decl does not like the declaration. * pt.c (push_template_decl_real): Disallow member template destructors. PR c++/11036.C * cp-tree.h (add_binding): Add prototype. * class.c (add_method): Set TYPE_HAS_DESTRUCTOR if appropriate. (maybe_warn_about_overly_private_class): Use CLASSTYPE_DESTRUCTORS. (pushclass): Adjust call to set_identifier_type_value. * decl.c (add_binding): Give it external linkage. (push_local_binding): Adjust call to add_binding. (push_class_binding): Likewise. (set_identifier_type_value_with_scope): Change prototype. Use add_binding for global bindings. (set_identifier_type_value): Adjust accordingly. (pushtag): Likewise. (pushdecl): Use set_identifier_type_value, not set_identifier_type_value_with_scope. (pushdecl_namespace_level): Adjust calls to SET_IDENTIFIER_TYPE_VALUE to pass a DECL. (pushdecl_class_level): Likewise. (lookup_tag): Use select_decl. (select_decl): Improve comment. (record_builtin_type): Do not call pushdecl. (cxx_init_decl_processing): Do not call xref_tag for bad_alloc. (cp_finish_decl): Adjust call to set_identifier_type_value. (check_elaborated_type_specifier): Improve checks for invalid uses of typedefs. (xref_tag): Adjust call to check_elaborated_type_specifier. * decl2.c (grokclassfn): Do not set TYPE_HAS_DESTRUCTOR. * name-lookup.c (set_namespace_binding): Use add_binding. * parser.c (cp_parser_simple_type_specifier): Return a TYPE_DECL, rather than an IDENTIFIER_NODE, to represent built-in types, if requested by the caller. (cp_parser_postfix_expression): Adjust call. (cp_parser_type_specifier): Likewise. (cp_parser_elaborated_type_specifier): Adjust call to check_elaborated_type_specifier. * typeck2.c (build_functional_cast): Do not perform name lookups. PR c++/10717 * decl.c (expand_static_init): Remove unncessary code. PR c++/10926 * g++.dg/template/dtor2.C: New test. PR c++/11684 * g++.dg/template/operator1.C: New test. * g++.dg/parse/operator4.C: New test. PR c++/11946.C * g++.dg/expr/enum1.C: New test. * gcc.dg/c99-bool-1.c: Remove bogus warning. PR c++/11036.C * g++.dg/parse/elab2.C: New test. * g++.dg/parse/typedef4.C: Change error message. * g++.old-deja/g++.robertl/eb133.C: Remove bogus error markers. * g++.old-deja/g++.robertl/eb133a.C: Remove bogus error markers. * g++.old-deja/g++.robertl/eb133b.C: Remove bogus error markers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70593 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11174lerdsuwa2003-08-191-1/+1
| | | | | | | | | | | | * init.c (build_offset_ref): Perform access checking for pointer to member correctly. * g++.dg/parse/access4.C: New test. * g++.dg/parse/access5.C: Likewise. * g++.old-deja/g++.jason/access17.C: Adjust error message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70566 138bc75d-0d04-0410-961f-82ee72b054a4
* cp: * pt.c (instantiate_class_template): Set location beforenathan2003-08-152-5/+7
| | | | | | | | | | | | substuting bases. testsuite: * g++.dg/template/error2.C: New test. * g++.dg/lookup/using7.C: Adjust errors * g++.old-deja/g++.pt/crash36.C: Likewise. * g++.old-deja/g++.pt/derived3.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70476 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11703mmitchel2003-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * call.c (type_passed_as): Use TYPE_SIZE, not TYPE_PRECISION to determine whether or not to promote types. (convert_for_arg_passing): Likewise. * decl2.c (cp_build_parm_decl): Do not set DECL_ARG_TYPE in templates. * pt.c (tsubst_decl): Do not expect it to be set. PR c++/9512 PR c++/10923 * cp-tree.h (check_elaborated_type_specifier): Declare. (handle_class_head): Remove. (note_got_semicolon): Likewise. (note_list_got_semicolon): Likewise. (finish_class_definition): Likewise. * decl.c (check_elaborated_type_specifier): Make it public. Robustify. (handle_class_head): Remove. * parser.c (cp_parser_elaborated_type_specifier): Use check_elaborated_type_specifier. (cp_parser_class_specifier): Do not call finish_class_definition. (cp_parser_class_head): Or handle_class_head. Check for over-qualified names. * semantics.c (finish_class_definition): Remove. * parser.c (cp_parser_check_for_definition_in_return_type): New function. (cp_parser_simple_declaration): Adjust call to cp_parser_init_declarator. (cp_parser_decl_specifier_seq): Change type of declares_class_or_enum parameter. (cp_parser_explicit_instantiation): Adjust accordingly. (cp_parser_type_specifier): Change type of declares_class_or_enum parameter. (cp_parser_init_declarator): Add declares_class_or_enum parameter. (cp_parser_parameter_declaration): Adjust call to cp_parser_decl_specifier_seq. (cp_parser_function_definition): Likewise. (cp_parser_member_declaration): Likewise. (cp_parser_single_declaration): Likewise. * cp-tree.h (lang_type_class): Remove has_call_overloaded, has_array_ref_overloaded, has_arrow_overloaded, and got_semicolon. (TYPE_OVERLOADS_CALL_EXPR): Remove. (TYPE_OVERLOADS_ARRAY_REF): Likewise. (TYPE_OVERLOADS_ARROW): Likewise. (CLASSTYPE_GOT_SEMICOLON): Likewise. * class.c (check_bases): Do not set them. (finish_struct_1): Likewise. * decl.c (cp_finish_decl): Do not set CLASSTYPE_GOT_SEMICOLON. (build_ptrmemfunc_type): Likewise. (grok_op_properties): Do not set TYPE_OVERLOADS_*. (start_function): Do not check CLASSTYPE_GOT_SEMICOLON. * decl2.c (grokfield): Do not set CLASSTYPE_GOT_SEMICOLON. * lex.c (note_got_semicolon): Remove. (note_list_got_semicolon): Likewise. * parser.c (cp_parser_simple_declaration): Do not call note_list_got_semicolon. * pt.c (list_eq): Remove. (lookup_template_class): Do not set CLASSTYPE_GOT_SEMICOLON. (instantiate_class_template): Do not set TYPE_OVERLOADS*. (instantiate_class_template): Do not set CLASSTYPE_GOT_SEMICOLON. * ptree.c (cxx_print_type): Do not print them. * semantics.c (finish_member_class_template): Do not call note_list_got_semicolon. * g++.dg/parse/ret-type2.C: New test. PR c++/11703 * g++.dg/init/new8.C: New test. PR c++/10923 * g++.dg/parse/typedef5.C: New test. PR c++/9512 * g++.dg/parse/qualified2.C: New test. * g++.old-deja/g++.other/decl5.C: Mark one more instance of invalid code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70391 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/8442, c++/8806lerdsuwa2003-08-015-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * decl.c (qualify_lookup): Accept TEMPLATE_DECL if types are preferred. (check_elaborated_type_specifier): Add allow_template_p parameter. Check tag mismatch and class template. (xref_tag): Add template_header_p parameter. Add assertion that name is an IDENTIFIER_NODE. Remove implicit typename warning. Simplify lookup process if globalize is true. (cxx_init_decl_processing): Adjust call to xref_tag. (xref_tag_from_type): Likewise. * decl2.c (handle_class_head): Likewise. * parser.c (cp_parser_elaborated_type_specifier, cp_parser_class_head): Likewise. * rtti.c (init_rtti_processing, build_dynamic_cast1, tinfo_base_init, emit_support_tinfos): Likewise. * class.c (is_base_of_enclosing_class): Remove. * pt.c (convert_template_argument): Don't accept RECORD_TYPE as template template argument. * cp-tree.h (xref_tag): Adjust declaration. (is_base_of_enclosing_class): Remove. * NEWS: Document template template argument change. * g++.dg/template/elab1.C: Likewise. * g++.dg/template/type2.C: Likewise. * g++.dg/template/ttp3.C: Adjust expected error message. * g++.old-deja/g++.law/visibility13.C: Likewise. * g++.old-deja/g++.niklas/t135.C: Likewise. * g++.old-deja/g++.pt/ttp41.C: Likewise. * g++.old-deja/g++.pt/ttp43.C: Use qualified name for template template argument. * g++.old-deja/g++.pt/ttp44.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70048 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-07-31 Andrew Pinski <pinskia@physics.uc.edu>pinskia2003-07-311-14/+0
| | | | | | | * g++.old-deja/g++.other/crash18.C: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70007 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.h (cp_id_kind): New type.mmitchel2003-07-1410-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (unqualified_name_lookup_error): Change prototype. (unqualified_fn_lookup_error): New function. (do_identifier): Remove. (do_scoped_id): Likewise. (tsubst_copy_and_build): Change prototype. (reregister_specialization): New function. (perform_koenig_lookup): Likewise. (finish_id_expression): Likewise. * call.c (build_method_call): Adjust call to unqualified_name_lookup_error. * decl.c (duplicate_decls): Use reregister_specialization. * lex.c (is_global): Remove. (unqualified_name_lookup_error): Return a value. (do_identifier): Remove. (do_scoped_id): Likewise. (identifier_typedecl_value): Remove. (unqualified_fn_lookup_error): New function. * parser.c (cp_parser_id_kind): Remove. (cp_parser_non_constant_id_expression): Remove. (cp_parser_primary_expression): Use finish_id_expression. (cp_parser_class_or_namespace_name): Use cp_id_kind, not cp_parser_id_kind. (cp_parser_postfix_expression): Use perform_koenig_lookup. (cp_parser_template_argument): Use cp_id_kind. (cp_parser_fold_non_dependent_expr): Adjust call to tsubst_copy_and_build. * pt.c (unregister_specialization): Rename to ... (reregister_specialization): This. (tsubst_friend_function): Use it. (maybe_fold_nontype_arg): Adjust call to tsubst_copy_and_build. (tsubst_qualified_id): Likewise. (tsubst_expr): Likewise. (tsubst_copy_and_build): Add function_p parameter. Use finish_id_expression. Introduce RECUR macro. (tsubst_non_call_postfix_expression): New function. (regenerate_decl_from_template): Use reregister_specialization. * semantics.c (perform_koenig_lookup): New function. (finish_id_expression): Likewise. PR c++/11493 PR c++/11495 * g++.dg/parse/template9.C: Likewise. * g++.dg/template/crash4.C: New test. * g++.dg/template/koenig1.C: Likewise. * g++.old-deja/g++.benjamin/tem03.C: Adjust error markers. * g++.old-deja/g++.benjamin/tem06.C: Declare "x". * g++.old-deja/g++.jason/overload33.C: Use this-> when calling functions. * g++.old-deja/g++.jason/template36.C: Likewise. * g++.old-deja/g++.mike/p1989.C: Likewise. * g++.old-deja/g++.pt/lookup2.C: Use -fpermissive when compiling. * g++.old-deja/g++.pt/ttp20.C: Use this->. * g++.old-deja/g++.pt/ttp21.C: Use this->. * g++.old-deja/g++.pt/typename13.C: Use -fpermissive when compiling. * g++.old-deja/g++.pt/union2.C: Use this->. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69316 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2003-07-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/11050 * parser.c (cp_parser_expression_list): Rename to ... (cp_parser_parenthesized_expression_list): ... here. Add attribute parameter, parse the surounding parentheses. (cp_parser_skip_to_closing_parenthesis): Add recover and or_comma parameters. Return int. (cp_parser_skip_to_closing_parenthesis or comma): Remove. (cp_parser_postfix_expression): Adjust function call parsing. (cp_parser_new_placement): Adjust. (cp_parser_new_initializer): Likewise. (cp_parser_cast_expression): Likewise. (cp_parser_selection_statement): Likewise. (cp_parser_mem_initializer): Likewise. (cp_parser_asm_definition): Likewise. (cp_parser_init_declarator): Likewise. (cp_parser_declarator): Make cdtor_or_conv_p an int ptr. (cp_parser_direct_declarator): Likewise. Check for a parameter list on cdtors & conv functions. (cp_parser_initializer): Adjust. (cp_parser_member_declaration): Adjust. (cp_parser_attribute_list): Move code into cp_parser_parens_expression_list. (cp_parser_functional_cast): Adjust. * pt.c (type_dependent_expression_p): Erroneous expressions are non-dependent. testsuite: PR c++/11050 * g++.dg/parse/args1.C: New test. * g++.pt/defarg8.C: Change expected errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69230 138bc75d-0d04-0410-961f-82ee72b054a4
* * fold-const.c (make_range): Do not access operand 1 for ammitchel2003-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zero-operand operator. 2003-07-08 Mark Mitchell <mark@codesourcery.com> * cp-tree.def (NON_DEPENDENT_EXPR): New node. * cp-tree.h (build_call_from_tree): Remove. (build_member_call): Likewise. (dependent_template_arg_p): Remove. (any_dependent_template_arguments_p): New function. (dependent_template_id_p): Likewise. (any_type_dependent_arguments_p): Likewise. (build_non_dependent_expr): Likewise. (build_non_dependent_args): Likewise. (build_x_compound_expr): Adjust prototype. * call.c (build_new_method_call): Handle non-dependent expressions correctly. * decl2.c (grok_array_decl): Likewise. (build_offset_ref_call_from_tree): Likewise. (build_call_from_tree): Remove. * error.c (dump_decl): Handle NON_DEPENDENT_EXPR. (dump_expr): Likewise. * init.c (build_member_call): Remove. * mangle.c (write_expression): Update handling for template-ids. * parser.c (cp_parser_primary_expression): Use any_dependent_template_arguments_p. Update constant-expression handling. (cp_parser_postfix_expression): Use any_type_dependent_arguments_p. Simplify call processing. (cp_parser_unary_expression): Simplify. (cp_parser_expression): Adjust for changes to build_x_compound_expr. (cp_parser_template_argument): Implement standard-conforming parsing of non-type template arguments. (cp_parser_direct_declarator): Use cp_parser_fold_non_dependent_expr. (cp_parser_fold_non_dependent_expr): New function. (cp_parser_next_token_ends_template_argument_p): Likewise. * pt.c (convert_template_argument): Do not call maybe_fold_nontype_arg. (tsubst_baselink): Likewise. (tsubst_copy_and_build): Share common code. Make sizeof/alignof processing work correctly for non-dependent expressions. Adjust handling of COMPOUND_EXPR. Simplify call processing. (value_dependent_expression_p): Deal with functional casts and sizeof/alignof correctly. (type_dependent_expression_p): Handle overloaded functions. (any_type_dependent_arguments_p): New function. (any_dependent_template_arguments_p): Likewise. (dependent_template_p): Treat SCOPE_REFs as dependent. (dependent_template_id_p): Simplify. (build_non_dependent_expr): New function. (build_non_dependent_args): Likewise. * semantics.c (finish_stmt_expr): Don't make dependent statement-expresions have void type. (finish_call_expr): Handle non-dependent expressions correctly. * tree.c (lvalue_p_1): Treat NON_DEPENDENT_EXPRs as lvalues. * typeck.c (cxx_sizeof_or_alignof_type): Give the expression type size_t, even in templates. (expr_sizeof): Likewise. (finish_class_member_access_expr): Handle non-dependent expressions correctly. (build_x_indirect_ref): Likewise. (build_x_binary_op): Likewise. (build_x_unary_op): Likewise. (build_x_conditional_expr): Likewise. (build_x_compound_expr): Likewise. * typeck2.c (build_x_arrow): Likewise. 2003-07-08 Mark Mitchell <mark@codesourcery.com> * g++.dg/abi/mangle17.C: Make sure template expressions are dependent. * g++.dg/abi/mangle4.C: Mark erroneous casts. * g++.dg/debug/debug7.C: Mark erronous new-declarator. * g++.dg/opt/stack1.C: Remove erroneous code. * g++.dg/parse/template7.C: New test. * g++.dg/template/dependent-expr1.C: Mark erroneous code. * g++.old-deja/g++.pt/crash4.C: Likewise. 2003-07-09 Mark Mitchell <mark@codesourcery.com> * gcj/array.h (JvPrimClass): Don't parenthesize the output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69130 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11431mmitchel2003-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * typeck.c (build_static_cast): Check for reference conversions earlier. * cp-tree.h (perform_integral_promotions): Declare. * call.c (build_addr_func): Use decay_conversion. (convert_arg_to_ellipsis): Likewise. Remove misleading comment. (convert_for_arg_passing): Use perform_integral_promotions. * cvt.c (build_expr_type_conversion): Use decay_conversion. (type_promotes_to): Do not return a cv-qualified type. * decl.c (grok_reference_init): Fix formatting. (get_atexit_node): Use decay_conversion. (build_enumerator): Use perform_integral_promotions. * init.c (build_vec_init): Use decay_conversion. * semantics.c (finish_expr_stmt): Likewise. (finish_switch_cond): Use perform_integral_promotions. * typeck.c (default_conversion): Likewise. (perform_integral_promotions): New function. (build_indirect_ref): Use decay_conversion. (build_array_ref): Use perform_integral_promotions. (convert_arguments): Use decay_conversion. (build_unary_op): Use perform_integral_promotions. (build_c_cast): Use decay_conversion. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. * g++.old-deja/g++.jason/typeid1.C: Make it a compile test, not a run test. PR c++/11431 * g++.dg/expr/static_cast3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68989 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (build_addr_func): Handle bound pointers-to-members.mmitchel2003-07-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (build_method_call): Do not call resolve_offset_ref. (implicit_conversion): Likewise. (resolve_scoped_fn_name): Use finish_non_static_data_member, not resolve_offset_ref. (resolve_args): Do not call resolve_offset_ref. (build_conditional_expr): Likewise. (build_new_method_call): Likewise. * cp-tree.def (OFFSET_REF): Update documentation. (cp_convert_to_pointer): Update handling of conversions from pointers to members to pointers. (ocp_convert): Do not call resolve_offset_ref. (convert_to_void): Likewise. (build_expr_type_conversion): Likewise. (delete_sanity): Likewise. (resolve_offset_ref): Simplify greatly. (build_vec_delete): Do not call resolve_offset_ref. * parser.c (cp_parser_postfix_expression): Call resolve_offset_ref if appropriate. (cp_parser_unary_expression): Use cp_parser_simple_cast_expression. (cp_parser_delete_expression): Likewise. (cp_parser_cast_expression): Likewise. (cp_parser_pm_expression): Use cp_parser_binary_op. (cp_parser_simple_cast_expression): New function. * rtti.c (build_dynamic_cast_1): Do not call resolve_offset_ref. * semantics.c (finish_increment_expr): Likewise. (finish_typeof): Likewise. * tree.c (lvalue_p_1): Do not handle OFFSET_REF. * typeck.c (require_complete_type): Do not handle OFFSET_REFs. (decay_conversion): Do not call resolve_offset_ref. (finish_class_member_access_expr): Likewise. (convert_arguments): Likewise. (build_x_binary_op): Handle DOTSTAR_EXPR. (condition_conversion): Do not call resolve_offset_ref. (unary_complex_lvalue): Likewise. (build_static_cast): Likewise. (build_reinterpret_cast): Likewise. (build_const_cast): Likewise. (build_c_cast): Likewise. (build_modify_expr): Likewise. (convert_for_assignment): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. (build_m_component_ref): Simplify. * g++.old-deja/g++.jason/typeid1.C: Add dg-error marker. * g++.old-deja/g++.mike/net36.C: Tweak error messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68911 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.old-deja/g++.abi/vbase1.C: Fix comment typos.kazu2003-07-014-4/+4
| | | | | | | | | | | | | | * g++.old-deja/g++.abi/vtable3.h: Likewise. * g++.old-deja/g++.law/code-gen5.C: Likewise. * g++.old-deja/g++.other/union2.C: Likewise. * gcc.dg/c90-const-expr-2.c: Likewise. * gcc.dg/c90-const-expr-3.c: Likewise. * gcc.dg/c99-const-expr-2.c: Likewise. * gcc.dg/c99-const-expr-3.c: Likewise. * gcc.dg/concat.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68769 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-06-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>reichelt2003-06-303-4/+4
| | | | | | | | | | | | | | | | | | | * g++.old-deja/g++.niklas/README: Fix spelling for "testcase". * g++.old-deja/g++.other/access2.C: Likewise. * g++.old-deja/g++.other/decl2.C: Likewise. * gcc.c-torture/execute/20020615-1.c: Likewise. 2003-06-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> * config/cris/cris.c: Fix spelling for "testcase". * config/cris/cris.h: Likewise. * config/cris/cris.md: Likewise. * config/mmix/crti.asm: Likewise. * config/mmix/mmix.h: Likewise. * config/mmix/mmix.md: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68740 138bc75d-0d04-0410-961f-82ee72b054a4
* * diagnostic.h (diagnostic_set_info): Replace file and linenonathan2003-06-283-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | parameters with a location_t. * diagnostic.c (diagnostic_set_info): Replace file and lineno parameters with a location_t. (inform, warning, pedwarn, error, sorry, fatal_error, internal_error, warning_with_decl, pedwarn_with_decl, error_with_decl): Adjust. * c-error.c (pedwarn_c99): Adjust. * c-format.c (status_warning): Adjust. * rtl-error.c (file_and_line_for_asm): Rename to ... (location_for_asm): Return a location_t. (diagnostic_for_asm): Adjust. * cp/cp-tree.h (cp_line_of, cp_file_of): Remove. * cp/error.c (cp_line_of, cp_file_of): Merge into ... (location_of): ... here. Make static, return a location_t. (cp_error_at, cp_warning_at, cp_pedwarn_at): Adjust. * testsuite/g++.old-deja/g++.robertl/eb133.C: Set expected line number. * testsuite/g++.old-deja/g++.robertl/eb133a.C: Likewise. * testsuite/g++.old-deja/g++.robertl/eb133b.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68643 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/10990mmitchel2003-06-261-1/+1
| | | | | | | | | | | | | | * search.c (lookup_base_r): Rely on accessible_p, rather than trying to emulate that logic here. PR c++/10990 * g++.dg/rtti/dyncast1.C: New test. * g++.dg/abi/mangle4.C: Correct base-specifier access. * g++.dg/lookup/scoped1.C: Remove XFAIL. * g++.old-deja/g++.martin/pmf1.C: Correct base-specifier access. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68507 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-opts.c (complain_wrong_lang, write_langs): Remove.neil2003-06-252-32/+0
| | | | | | | | | | | | | | | | (c_common_handle_option): Complaints about wrong language are handled in opts.c now. * opts.c (complain_wrong_lang, write_langs, handle_options): New. (find_opt): Fix thinko. (handle_option): Update prototype. Complain about switches for a different front end. * opts.h (lang_names, handle_options): New. (handle_option): Remove. * opts.sh: Write out language names array. * toplev.c (parse_options_and_default_flags): Use handle_options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68495 138bc75d-0d04-0410-961f-82ee72b054a4
* cp/gdr2003-06-214-0/+4
| | | | | | | | | | | | | | | PR c++/10784 * call.c (joust): Warn about choosing conversion sequence only if -Wconversion. testsuite/ * g++.old-deja/g++.benjamin/16077.C: Add -Wconversion option. * g++.old-deja/g++.other/conv7.C: Likewise * g++.old-deja/g++.other/overcnv2.C: Likewise. * g++.old-deja/g++.other/overload14.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68312 138bc75d-0d04-0410-961f-82ee72b054a4
* testsuite/gdr2003-06-212-0/+3
| | | | | | | | | | | | | * g++.old-deja/g++.jason/conversion5.C: Adjust option. * g++.old-deja/g++.bugs/900215_01.C: Likewise. cp/ PR c++/10915 * decl.c (grok_op_properties): Warn possible confusing conversion only if -Wconversion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68303 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/9649mmitchel2003-06-201-2/+2
| | | | | | | | | | | | | | | | | | * cp-tree.h (pushdecl_class_level): Change prototype. (push_class_level_binding): Likewise. * decl.c (add_binding): Reject duplicate static data members. (pushdecl_class_level): Return a value indicating whether or not the binding was valid. (push_class_level_binding): Likewise. * semantics.c (finish_member_declaration): Don't keep invalid declarations. PR c++/9649 * g++.dg/template/static4.C: New test. * g++.old-deja/g++.other/anon7.C: Remove spurious error messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68240 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/11105mmitchel2003-06-171-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | * cp-tree.h (DECL_CONV_FN_TYPE): New method. * mangle.c (struct globals): Remove internal_mangling_p. (write_unqualified_name): Use DECL_CONV_FN_TYPE. (write_template_parm): Don't write out the level number. (conv_type_names): New variable. (hash_type): New function. (compare_type): Likewise. (mangle_conv_op_name_for_type): Don't try to mangle conversion operator names. * search.c (lookup_conversion_operator): New function. (lookup_fnfields_1): Use it. PR c++/11105 * g++.dg/abi/conv1.C: Remove it. * g++.dg/template/conv7.C: New test. * g++.dg/template/conv8.C: Likewise. * g++.old-deja/g++.ext/pretty2.C: Do not test __FUNCTION__ for a conversion operator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68095 138bc75d-0d04-0410-961f-82ee72b054a4