aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
AgeCommit message (Collapse)Author
2005-08-042005-07-25 Fariborz Jahanian <fjahanian@apple.com>Fariborz Jahanian
Radar 4187916 * 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. * class.c (resolve_address_of_overloaded_function): Add LOOKUP_NORMAL in call to can_convert_arg. (resolve_address_of_overloaded_function): Ditto. * decl.c (reshape_init, check_default_argument): Ditto. * typeck.c (build_ptrmemfunc): Ditto. * typeck2.c (digest_init): Ditto. (unify): Add LOOKUP_NORMAL to call to type_unification_real. * 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. Oked by Devang. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@102748 138bc75d-0d04-0410-961f-82ee72b054a4
2005-07-27Radar 4182972Devang Patel
* name-lookup.c (pushtag): Do not set DECL_IGNORED_P bit. * decl.c (grokdeclarator): Do not generate debug info for anonymous aggregate type when it receives real name. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@102438 138bc75d-0d04-0410-961f-82ee72b054a4
2005-07-27[gcc/cp/ChangeLog.apple-ppc]Ziemowit Laski
2005-07-26 Ziemowit Laski <zlaski@apple.com> Radar 4168392 * decl.c (check_tag_decl): In '-fms-extensions' mode, turn anonymous fields of aggregate (struct or union) type into anonymous aggregates. For structs, issue a warning if in '-pedantic' mode. [gcc/testsuite/ChangeLog.apple-ppc] 2005-07-26 Ziemowit Laski <zlaski@apple.com> Radar 4168392 * g++.dg/ext/anon-struct3.C: Anonymous aggregate fields may use typedefs. * g++.dg/ext/apple-r4168392.C: New. * gcc.dg/apple-r4168392.c: New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@102413 138bc75d-0d04-0410-961f-82ee72b054a4
2005-07-26 Radar 4184203Devang Patel
Undo PR c++/1016 patch. 2005-03-13 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> * cp-tree.h (pushtag): Adjust declaration. * decl.c (lookup_and_check_tag): Call lookup_type_scope if lookup_name fails. (xref_tag): Adjust call to pushtag. Make hidden class visible. (start_enum): Adjust call to pushtag. * name-lookup.c (ambiguous_decl): Ignore hidden names. (qualify_lookup): Change return type to bool. (hidden_name_p): New function. (lookup_namespace_name, unqualified_namespace_lookup, lookup_name_real): Use it. (lookup_type_scope): Update comments. (maybe_process_template_type_declaration): Change parameter name from globalize to is_friend. (pushtag): Change globalize parameter of type int to tag_scope. Hide name if introduced by friend declaration. * name-lookup.h (hidden_name_p): Add declaration. * parser.c (cp_parser_lookup_name): Don't deal with hidden name here. * pt.c (push_template_decl_real): Make hidden class template visible. (lookup_template_class, instantiate_class_template): Adjust call to pushtag. * semantics.c (begin_class_definition): Likewise. * rtti.c (init_rtti_processing, build_dynamic_cast_1, tinfo_base_init, emit_support_tinfos): Use ts_current instead of ts_global. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@102402 138bc75d-0d04-0410-961f-82ee72b054a4
2005-07-22 Radar 4182972Devang Patel
* name-lookup.c (pushtag): Update comment. * decl.c (grokdeclarator): Generate debug info for anonymous aggregate type when it receives real name. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@102291 138bc75d-0d04-0410-961f-82ee72b054a4
2005-07-09Merge in gcc_4_0_0_release to gcc_4_0_1_releaseMike Stump
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@101836 138bc75d-0d04-0410-961f-82ee72b054a4
2005-06-10Merge in karma.Mike Stump
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@100826 138bc75d-0d04-0410-961f-82ee72b054a4
2005-04-222005-04-21 Dale Johannesen <dalej@apple.com>Dale Johannesen
Radar 3124235 * Makefile.in (options.o): New dependencies. (tree-optimize.o): Ditto. * c-decl.c (start_function): Record perfunc flags. * common.opt (falign-jumps, falign-labels, falign-loops): Add PerFunc, VarUint, VarExists. (fbranch-count-reg, fbranch-target-load-optimize, fbranch-target-load-optimize2, fbtr-bb-exclusive, fcaller-saves, fcprop-registers, fcrossjumping, fcse-follow-jumps, fcse-skip-blocks, fcx-limited-range, fdefer-pop, fdelayed-branch, fdelete-null-pointer-checks, fexpensive-optimizations, ffinite-math-only, ffloat-store, fforce-addr, fforce-mem, ffunction-cse, fgcse, fgcse-lm, fgcse-sm, fgcse-las, fgcse-after-reload, fguess-branch-probability, fif-conversion, fif-conversion2, fivopts, floop-optimize, floop-optimize2, fmath-errno, fmodulo-sched, fmove-loop-invariants, freschedule-modulo-scheduled-loops, fomit-frame-pointer, foptimize-register-move, foptimize-sibling-calls, fpeel-loops, fpeephole, fpeephole2, fprefetch-loop-arrays, fregmove, frename-registers, freorder-blocks, freorder-blocks-and-partition, frerun-cse-after-loop, frerun-loop-opt, frounding-math, fsched-interblock, fsched-spec, fsched-spec-load, fsched-spec-load-dangerous, fsched2-use-superblocks, fsched2-use-traces, fschedule-insns, fschedule-insns2, fsignaling-nans, fsplit-ivs-in-unroller, fvariable-expansion-in-unroller, fstrength-reduce, fthread-jumps, ftracer, ftrapping-math, ftrapv, ftree-ccp, ftree-ch, ftree-combine-temps, ftree-copyrename, ftree-dce, ftree-dominator-opts, ftree-dse, ftree-fre, ftree-loop-im, ftree-loop-linear, ftree-loop-ivcanon, ftree-loop-memset, ftree-loop-optimize, ftree-pre, ftree-sra, ftree-ter, ftree-lrs, funroll-loops, funroll-all-loops, funsafe-math-optimizations, funswitch-loops, ftree-vectorize, fweb, fwrapv): Add PerFunc. (fsched-verbose): Add Var, UInteger, PerFunc, VarUint. (fsched-stalled-insns-dep): Add PerFunc, VarUint. (p): Add VarExists. * final.c (asm_insn_count): Replace "optimize" by "optimizing". (final): Ditto. (final_scan_insn): Ditto. * flags.h (optimize, optimize_size): Remove. * haifa-sched.c (sched_verbose_param): Remove. (fix_sched_param): Remove. * loop.c (struct loop_mem_info): Replace "optimize" by "optimizable". (insert_loop_mem, load_mems): Adjust references. * opt-functions.awk (flag_set_p): New. (switch_flags): Add VarUint, PerFunc. (var_ref): Handle them. (access_ref): New. * optc-gen.awk (END): Substantial rewrite to handle PerFunc, VarUint. * opth-gen.awk (END): Ditto. * opts.c (hashtab.h): New include. (handle_option): Use access_flag. (set_flags_from_O): New. (decode_options): Split out set_flags_from_O. Save cl_pf_opts_cooked. (common_handle_options): Remove special cases for align-functions, align-jumps, align-labels, align-loops, sched-verbose, sched-stalled-insns-dep. Use access_flag. (cl_perfunc_opts_hash_table, hash_cl_perfunc_opts, cmp_cl_perfunc_opts, make_perfunc_opts, func_cl_pf_opts_mapping_hash_table, struct func_cl_pf_opts_mapping, func_cl_pf_opts_mapping_hash, func_cl_pf_opts_mapping_eq, record_func_cl_pf_opts_mapping, restore_func_cl_pf_opts_mapping, copy_func_cl_pf_opts_mapping): New. * opts.h (set_flags_from_O, record_func_cl_pf_opts_mapping, restore_func_cl_pf_opts_mapping, copy_func_cl_pf_opts_mapping): New. (struct cl_option): Add access_flag. (CL_VARUINT, CL_PERFUNC): New. * toplev.c (optimize, optimize_size): Remove. (print_switch_values): Use access_flag. * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion, flag_if_conversion2, flag_peel_loops, flag_rerun_cse_after_loops, flag_thread_jumps, flag_tracer, flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops, flag_cprop_registers, flag_loop_optimize2): Remove. * tree-optimize.c (opts.h): New include. (tree_rest_of_compilation): Restore saved opts from definition. * config/darwin-c.c (flags.h, opts.h, varray.h): New includes. (darwin_pragma_reverse_bitfields): Fix obvious spelling bug. (va_opt, push_opt_level, pop_opt_level, darwin_pragma_opt_level, darwin_pragma_opt_size): New. * config/darwin-protos.h (darwin_pragma_opt_level, darwin_pragma_opt_size, reset_optimization_options): New. * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Add optimization_level, optimize_for_size. * config/t-darwin (darwin-c.o): New dependencies. * config/i386/i386.c (reset_optimization_options): New. * config/rs6000/rs6000.c (reset_optimization_options): New. * config/rs6000/rs6000.h (optimize, flag_expensive_optimizations): Remove. * cp/Make-lang.in (cp/decl.o): New dependency. * cp/decl.c (opts.h): New include. (build_library_fn_1): Record perfunc opts. (start_preparsed_function): Propagate saved opts to existing forward decl. (start_function): Record perfunc opts. * doc/extend.texi (pragma optimization_level, optimize_for_size): Document. * objc/objc-act.c (objc_start_function): Record perfunc opts. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@98538 138bc75d-0d04-0410-961f-82ee72b054a4
2005-04-09Merge to tag apple-local-merge-20050406.Geoffrey Keating
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@97889 138bc75d-0d04-0410-961f-82ee72b054a4
2005-03-12[gcc/ChangeLog.apple-ppc]Ziemowit Laski
2005-03-11 Ziemowit Laski <zlaski@apple.com> Radar 3995882 * c-decl.c (objc_mark_locals_volatile): Mark local variables and parameters 'volatile' in ways expected by the C front-end. [gcc/cp/ChangeLog.apple-ppc] 2005-03-11 Ziemowit Laski <zlaski@apple.com> Radar 3995882 * decl.c (objc_mark_locals_volatile): Mark local variables and parameters 'volatile' in ways expected by the C++ front-end. [gcc/objc/ChangeLog.apple-ppc] 2005-03-11 Ziemowit Laski <zlaski@apple.com> Radar 3995882 * objc-act.c (objc_begin_try_stmt): When doing _setjmp()/ _longjmp() EH, call objc_mark_locals_volatile(). [gcc/testsuite/ChangeLog.apple-ppc] 2005-03-11 Ziemowit Laski <zlaski@apple.com> Radar 3995882 * obj-c++.dg/try-catch-9.mm: New. * objc.dg/try-catch-8.m: New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@96321 138bc75d-0d04-0410-961f-82ee72b054a4
2005-03-04Merge changes between apple-ppc-merge-20041026 and apple-gcc-4049Geoffrey Keating
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@95897 138bc75d-0d04-0410-961f-82ee72b054a4
2005-02-14cp:Nathan Sidwell
PR c++/19884 * pt.c (check_explicit_specialization): Make sure namespace binding lookup found an overloaded function. (lookup_template_function): Just assert FNS is an overloaded function. PR c++/19895 * decl.c (grokdeclarator): Check for error mark node in ptrmem construction. testsuite: PR c++/19895 * g++.dg/parse/ptrmem3.C: New. PR c++/19884 * g++.old-deja/g++.oliva/template6.C: Add another case. * g++.dg/template/explicit6.C: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@95009 138bc75d-0d04-0410-961f-82ee72b054a4
2005-02-14gcc/cp/ChangeLog:Alexandre Oliva
PR c++/17816 * decl.c (redeclaration_error_message): Report redefinition of pure virtual function. gcc/testsuite/ChangeLog: PR c++/17816 * g++.dg/other/redecl2.C: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@95008 138bc75d-0d04-0410-961f-82ee72b054a4
2005-02-11 PR c++/19755Mark Mitchell
* decl.c (reshape_init): Issue warnings about missing braces. PR c++/19755 * g++.dg/warn/Wbraces1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94882 138bc75d-0d04-0410-961f-82ee72b054a4
2005-02-10 PR c++/19787Mark Mitchell
* call.c (initialize_reference): Robustify. PR ++/19732 * decl.c (grokdeclarator): Check for invalid use of destructor names. PR c++/19762 * parser.c (cp_parser_unqualified_id): Avoid creating destructor names with invalid types. PR c++/19826 * parser.c (cp_parser_direct_declarator): Allow type-dependent expressions as array bounds. PR c++/19739 * parser.c (cp_parser_attributes_list): Allow empty lists. PR c++/19787 * g++.dg/conversion/ambig1.C: New test. PR c++/19739 * g++.dg/ext/attrib19.C: New test. PR c++/19732 * g++.dg/parse/dtor5.C: New test. PR c++/19762 * g++.dg/template/dtor3.C: New test. PR c++/19826 * g++.dg/template/static11.C: New test. * g++.dg/template/crash2.C: Remove dg-error marker. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94788 138bc75d-0d04-0410-961f-82ee72b054a4
2005-02-09 PR c++/19733Mark Mitchell
* class.c (add_method): Don't set TYPE_HAS_DESTRUCTOR. (check_bases): Give warnings about a base class with a non-virtual destructor, even if it is implicit. (finish_struct_bits): Don't copy TYPE_HAS_DESTRUCTOR. (maybe_warn_about_overly_private_class): Don't use TYPE_HAS_DESTRUCTOR. (finish_struct_methods): Don't set TYPE_HAS_DESTRUCTOR. (check_for_override): Give it external linkage. (add_implicitly_declared_members): Generate destructors lazily. (check_field_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not TYPE_HAS_DESTRUCTOR. (check_bases_and_members): Call check_methods before check_field_decls. (check_bases_and_members): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR, not TYPE_HAS_DESTRUCTOR. (finish_struct_1): Do not use TYPE_HAS_DESTRUCTOR. * cp-tree.def (PSEUDO_DTOR_EXPR): Document. * cp-tree.h (TYPE_HAS_DESTRUCTOR): Remove. (lang_type_class): Add lazy_destructor. (CLASSTYPE_LAZY_DESTRUCTOR): New macro. (CLASSTYPE_DESTRUCTORS): Robustify. (TYPE_HAS_DESTRUCTOR): Remove. (check_for_override): Declare. (build_vbase_delete): Remove. * cvt.c (convert_to_void): Issue errors about pseudo-destructor expressions. * decl.c (cxx_maybe_build_cleanup): Remove dead code. * except.c (dtor_nothrow): Lazily create destructors if necessary. (build_throw): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. * init.c (build_delete): Lazily create destructors, if necessary. (build_vbase_delete): Remove. * method.c (locate_dtor): Simplify. (implicitly_declare_fn): Add support for destructors. * parser.c (cp_parser_lookup_name): Lazily create destructors, if necessary. * pt.c (check_explicit_specialization): Don't use TYPE_HAS_DESTRUCTOR. (instantiate_class_template): Likewise. * ptree.c (cxx_print_type): Don't print TYPE_HAS_DESTRUCTOR. * rtti.c (emit_support_tinfos): Robustify. * search.c (lookup_fnfields_1): Lazily create destructors. * typeck.c (build_class_member_access_expr): Remove PSEUDO_DTOR_EXPR handling. (lookup_destructor): Likewise. PR c++/19733 * g++.dg/parse/crash23.C: New test. * g++.dg/warn/Weff1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94759 138bc75d-0d04-0410-961f-82ee72b054a4
2005-02-01 * decl.c (build_enumerator): Do not issue duplicate error messagesMark Mitchell
about invalid enumeration constants. * parser.c (cp_parser_non_integral_constant_expression): Always set parser->non_integral_constant_expression_p. (cp_parser_primary_expression): Add cast_p parameter. Issue errors about invalid uses of floating-point literals in cast-expressions. (cp_parser_postfix_expression): Add cast_p parameter. (cp_parser_open_square_expression): Pass it. (cp_parser_parenthesized_expression_list): Add cast_p parameter. (cp_parser_unary_expression): Likewise. (cp_parser_new_placement): Pass it. (cp_parser_direct_new_declarator): Likewise. (cp_parser_new_initializer): Likewise. (cp_parser_cast_expression): Add cast_p parameter. (cp_parser_binary_expression): Likewise. (cp_parser_question_colon_clause): Likewise. (cp_parser_assignment_expression): Likewise. (cp_parser_expression): Likewise. (cp_parser_constant_expression): If an integral constant expression is invalid, return error_mark_node. (cp_parser_expression_statement): Pass cast_p. (cp_parser_condition): Likewise. (cp_parser_iteration_statement): Likewise. (cp_parser_jump_statement): Likewise. (cp_parser_mem_initializer): Likewise. (cp_parser_template_argument): Likewise. (cp_parser_parameter_declaration): Likewise. (cp_parser_initializer): Likewise. (cp_parser_throw_expression): Likewise. (cp_parser_attribute_list): Likewise. (cp_parser_simple_cast_expression): Likewise. (cp_parser_functional_cast): Likewise. (cp_parser_late_parsing_default_args): Likewise. (cp_parser_sizeof_operand): Save/restore non_integral_constant_expression_p. * include/std/std_limits.h (numeric_limits<float>::has_denorm): Add required cast. (numeric_limits<double>::has_denorm): Likewise. (numeric_limits<long double>::has_denorm): Likewise. * g++.dg/other/warning1.C: Adjust error messags. * g++.dg/parse/constant5.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94512 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-31 * decl.c (start_decl): Add missing parentheses.Mark Mitchell
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94483 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-31 PR c++/19555Mark Mitchell
* cp-tree.h (DECL_USE_TEMPLATE): Expand documentation. * decl.c (duplicate_decls): Do not discard DECL_IMPLICIT_INSTANTIATION when merging declarations. (start_decl): Do not SET_DECL_TEMPLATE_SPECIALIZATION for variables that do not have DECL_USE_TEMPLATE. PR c++/19555 * g++.dg/template/static10.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94469 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-31 PR c++/19395Mark Mitchell
* decl.c (grokdeclarator): Refactor code so that qualified names are never allowed as the declarator in a typedef. PR c++/19367 * name-lookup.c (do_nonmember_using_decl): Avoid overloading builtin declarations. PR c++/19395 * g++.dg/parse/error24.C: New test. PR c++/19367 * g++.dg/lookup/builtin1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94466 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-27 * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,Steven Bosscher
CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS): Add tree checks. * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE. (SWITCH_STMT_COND, SWITCH_STMT_BODY): New. * c-common.def (SWITCH_STMT): Update to match. * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor macros instead of SWITCH_EXPR ones. * c-dump.c (c_dump_tree): Likewise. * c-gimplify.c (gimplify_switch_stmt): Likewise. * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise. cp/ * decl.c (finish_case_label): Use SWITCH_STMT accessor macros instead of SWITCH_EXPR ones. * pt.c (tsubst_expr): Likewise. * semantics.c (begin_switch_stmt, finish_switch_cond, finish_switch_stmt): Likewise. doc/ * c-tree.texi (SWITCH_STMT): Update accessor macro names. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94315 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-18 * decl.c (vtable_decl_p, vtype_decl_p, walk_globals_data,Kazu Hirata
walk_vtables_r, walk_vtables, walk_globals_r, walk_globals): Remove. * cp-tree.h: Remove the corresponding prototypes. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@93867 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-18 * decl.c (delete_block): Remove.Kazu Hirata
* cp-tree.h: Remove the corresponding prototype. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@93866 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-06 PR c++/19244Mark Mitchell
* class.c (add_implicitly_declared_members): Remove dead code. * decl.c (grokfndecl): Add sfk parameter. Use it do set DECL_CONSTRUCTOR_P. (grokdeclarator): Adjust calls to grokfndecl. * method.c (implicitly_declare_fn): Improve documentation. * parser.c (cp_parser_direct_declarator): Do not consider a function to be a constructor if the containing class was originally anonymous. PR c++/19244 * g++.dg/parser/ctor2.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@93004 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-05cp:Nathan Sidwell
PR c++/19030 * cp-tree.h (start_decl): Take pointer to pushed scope, not bool. * name-lookup.h (push_scope): Return pushed scope, not flag. * name-lookup.c (push_scope): Return scope that should be popped, not a flag. * decl.c (start_decl): Adjust. (grokfndecl): Adjust scope push and pop. * decl2.c (check_classfn): Likewise. * parser.c (cp_parser_condition, cp_parser_conversion_function_id, cp_parser_init_declarator, cp_parser_direct_declarator, cp_parser_class_specifier, cp_parser_class_head, cp_parser_lookup_name, cp_parser_constructor_declarator_p): Likewise. * pt.c (instantiate_class_template, resolve_typename_type): Likewise. testsuite: PR c++/19030 * g++.dg/parse/crash22.C: New git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92946 138bc75d-0d04-0410-961f-82ee72b054a4
2005-01-01 * emit-rtl.c (add_insn_before): Fix comment typo.Steven Bosscher
PR middle-end/17544 * c-decl.c (finish_function): If compiling C99, annotate the compiler generated return with the current file name and line 0. * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if the source line is greater than 0. (remove_bb): Likewise. cp/ PR middle-end/17544 * decl.c (finish_function): Fix comment. Annotate the compiler generated return with the current file name and line 0. testsuite/ * gcc.dg/20041231-1.C: New test. * g++.dg/warn/Wunreachable-code-1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92784 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-30 * cp-tree.h (cp_declarator): Split "name" field intoMark Mitchell
qualifying_scope and unqualified_name. * decl.c (get_scope_of_declarator): Adjust accordingly. (grokdeclarator): Likewise. * decl2.c (grokfield): Likewise, and adjust call to do_class_using_decl. * name-lookup.c (do_class_using_decl): Split "decl" into "scope" and "name". Remove unnecessary code. * name-lookup.h (do_class_using_decl): Adjust declaration. * parser.c (make_id_declarator): Split "id" into qualifying_scope and unqualified_name. (cp_parser_using_declaration): Adjust call to do_class_using_decl. (cp_parser_direct_declarator): Adjust to handle the fact that cp_parser_declarator_id no longer returns a SCOPE_REF. (cp_parser_direct_declarator): Likewise. (cp_parser_declarator_id): Do not create a SCOPE_REF for qualified names. (cp_parser_member_declaration): Adjust call to make_id_declarator. (cp_parser_check_declarator_template_parameters): Do not expect a SCOPE_REF. * decl.c (duplicate_decls): Call ggc_free on declarations we will not be needing any longer. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92746 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-28libstdc++:Jason Merrill
Add memory barriers to the double-checked locking used for static initialization. * libsupc++/guard.cc (__test_and_acquire): Define default. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release) (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise. (recursion_push, recursion_pop): New abstraction functions. (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE. (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE. * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename from _GLIBCXX_GUARD_ACQUIRE and reverse sense. (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE. * config/cpu/arm/cxxabi_tweaks.h: Likewise. * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER) (_GLIBCXX_WRITE_MEM_BARRIER): Define. * config/cpu/powerpc/atomic_word.h: Likewise. * config/cpu/sparc/atomic_word.h: Likewise. * config/cpu/generic/atomic_word.h: Define them, commented out. * include/bits/atomicity.h: Define defaults. * config/cpu/ia64/atomic_word.h (__test_and_acquire) (__set_and_release): New inlines. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define. (_GLIBCXX_GUARD_SET_AND_RELEASE): Define. * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of abort(); gcc: * doc/tm.texi (TARGET_RELAXED_ORDERING): Document. * target.h (struct gcc_target): Add relaxed_ordering field. * target-def.h (TARGET_RELAXED_ORDERING): Define default. (TARGET_INITIALIZER): Add it. * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define. * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define. * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define. * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define. * cp/decl.c (expand_static_init): Don't use shortcut if targetm.relaxed_ordering. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92659 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-27 PR c++/19149Mark Mitchell
* decl.c (check_tag_decl): Robustify. PR c++/19149 * g++.dg/parse/error23.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92648 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-22 PR c++/18378Mark Mitchell
* call.c (convert_like_real): Do not permit the use of a copy constructor to copy a packed field. PR c++/17413 * decl.c (grokdeclarator): Return error_mark_node, not void_type_node, to indicate errors. * parser.c (cp_parser_template_parameter_list): Robustify. (cp_parser_template_parameter): Likewise. PR c++/19034 * tree.c (cp_tree_equal): Handle OVERLOAD. PR c++/18378 * g++.dg/ext/packed8.C: New test. PR c++/13268 * g++.dg/template/crash31.C: New test. PR c++/19034 * g++.dg/template/crash30.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92486 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-22 * decl.c (define_label): Use POP_TIMEVAR_AND_RETURN.Volker Reichelt
* name-lookup.c (pushdecl_class_level): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92485 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-21cp:Nathan Sidwell
PR c++/14075 * decl.c (check_initializer): Check string initializer of array is not parenthesized. * cp-tree.h (PAREN_STRING_LITERAL_P): New. * semantics.c (finish_parenthesized_expr): Mark a STRING_CST. * error.c (dump_expr): <STRING_CST case> Add parens, if needed. testsuite: PR c++/14075 * g++.dg/init/string1.C: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92464 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-20 PR c++/19044Matt Austern
* c-common.c (set_builtin_user_assembler_name): New. * c-common.h (set_builtin_user_assembler_name): Declare. * c-decl.c (finish_decl): Use set_builtin_user_assembler_name * decl.c (make_rtl_for_nonlocal_decl): Use set_builtin_user_assembler_name * g++.dg/ext/builtin6.C: New git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92428 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-16cp:Nathan Sidwell
PR c++/18905 * cp-tree.h (integral_constant_value): Declare. * call.c (null_ptr_cst_p): Use integral_constant_value, not decl_constant_value. (convert_like_real): Likewise. * class.c (check_bitfield_decl): Likewise. * cvt.c (ocp_convert): Likewise. (convert): Remove unnecessary decl_constant_value call. * decl.c (compute_array_index_type): Use integral_constant_value, not decl_constant_value. (build_enumerator): Likewise. * decl2.c (grokfield): Likewise. * init.c (decl_constant_value): Simplify. (integral_constant_value): New. * pt.c (fold_decl_constant_value): Use integral_constant_value, remove subsequent check. (tsubst): Use integral_constant_value, not decl_constant_value. (tsubst_copy, unify): Likewise. * typeck.c (decay_conversion): Likewise. (build_compound_expr): Remove unnecessary decl_constant_value calls. (build_static_cast_1, build_reinterpret_cast_1): (convert_for_assignment): Remove comment about not calling decl_constant_value. testsuite: PR c++/18905 * g++.dg/template/init4.C: New. * g++.dg/opt/static3.C: Enable optimizer. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92257 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-15 PR c++/18738Mark Mitchell
* decl.c (make_typename_type): Do not handle namespace-scoped names here. (tag_name): Handle typename_type. (check_elaborated_type_specifier): Handle typenames. * parser.c (cp_parser_diagnose_invalid_type_name): Improve comment. (cp_parser_elaborated_type_specifier): Use cp_parser_diagnose_invalid_type_name. PR c++/18738 * g++.dg/template/typename8.C: New test. * g++.dg/parse/friend2.C: Tweak error message. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@92172 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-08 PR c++/18100Kriang Lerdsuwanakij
* decl.c (lookup_and_check_tag): Diagnose nested class with the same name as enclosing class. * g++.dg/lookup/name-clash4.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91866 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-08cp:Nathan Sidwell
PR c++/18803 * cp-tree.h (REFERENCE_REF_P): New. (CPTI_TYPE_INFO_TYPE): Rename to ... (CPTI_CONST_TYPE_INFO_TYPE): ... here. (CPTI_TYPE_INFO_REF_TYPE): Remove. (type_info_type_node): Rename to ... (const_type_info_type_node): ... here. (type_info_ref_type): Remove. * call.c (build_user_type_conversion): Reformat. (resolve_args): Do not convert_from_reference. (build_object_call): Call convert_from_reference. (prep_operand): Do not convert_from_reference. (build_new_method_call): Likewise. * class.c (build_vfield_ref): Likewise. * cvt.c (convert_to_reference): Likewise. (convert_from_reference): Build INDIRECT_REF here, not with build_indirect_ref. (convert_force): Do not convert_from_reference. (build_expr_type_conversion): Likewise. * decl.c (grok_reference_init): Likewise. * decl2.c (delete_sanity): Likewise. * except.c (initialize_handler_parm): Use POINTER_TYPE_P. * init.c (build_dtor_call): Do not convert_from_reference. * parser.c (cp_parser_template_argument): Unwrap indirected reference. Allow TEMPLATE_PARM_INDEX as an object parm. * pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use convert_from_reference, if indicated. <case CALL_EXPR>: Do not convert_from_reference. <case PARM_DECL, VAR_DECL>: Convert_from_reference if needed. (tsubst_initializer_list): Do not convert_from_reference. * rtti.c (init_rtti_processing): Adjust node creation. (throw_bad_typeid): Use const_type_info_type_node. Do not convert_from_reference. (typeid_ok_p): Use const_type_info_type_node. (build_typeid, get_typeid): Always return type_info typed node. (build_dynamic_cast_1): Dont convert_from_reference. Refactor. * semantics.c (finish_stmt_expr_expr): Do not convert_from_reference. (finish_id_expression): Convert_from_reference as appropriate. * typeck.c (decay_conversion): Do not convert_from_reference. (finish_class_member_access_expr): Likewise. (build_indirect_ref): Use POINTER_TYPE_P. (convert_arguments): Do not convert_from_reference. (build_modify_expr): Likewise. (convert_for_initialization): Likewise. * typeck2.c (build_x_arrow): Likewise. testsuite: PR c++/18803 * g++.dg/template/operator5.C: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91863 138bc75d-0d04-0410-961f-82ee72b054a4
2004-12-03cp:Nathan Sidwell
PR c++/18782 * decl.c (grokdeclarator): Make sure class in pointer to member is not a namespace. testsuite: PR c++/18782 * g++.dg/parse/ptrmem2.C: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91681 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-29 PR c++/18368Mark Mitchell
* parser.c (cp_parser_check_for_definition_in_return_type): Take the defined type as a parameter, and inform the user about the possibility of a missing semicolon. (cp_parser_explicit_instantiation): Adjust call to cp_parser_check_for_definition_in_return_type. (cp_parser_init_declarator): Likewise. (cp_parser_member_declaration): Likewise. PR c++/18674 * cp-tree.def (TYPENAME_TYPE): Remove discussion of implicit typename from comments. * cp-tree.h (TYPENAME_IS_ENUM_P): New macro. (TYPENAME_IS_CLASS_P): Likewise. (make_typename_type): Change prototype. * decl.c (struct_typename_info): New type. (typename_compare): Expect the second argument to be a typename_info, not a tree. (build_typename_type): Add tag_type parameter. Do not create a new type until necessary. (make_typename_type): Add tag_type parameter. * error.c (TYPENAME_TYPE): Print tags other than "typename" if appropriate. * friend.c (make_friend_class): Adjust call to make_typename_type. * parser.c (cp_parser_make_typename_type): Likewise. (cp_parser_primary_expression): Adjust call to cp_parser_lookup_name. (cp_parser_unqualified_id): Adjust calls to cp_parser_class_name. (cp_parser_class_or_namespace_name): Likewise. (cp_parser_postfix_expression): Adjust calls to make_typename_type. (cp_parser_mem_initializer_id): Adjust calls to cp_parser_class_name. (cp_parser_type_parameter): Adjust calls to cp_parser_lookup_name. (cp_parser_template_name): Likewise. (cp_parser_template_argument): Likewise. (cp_parser_type_name): Adjust call to cp_parser_class_name. (cp_parser_elaborated_type_specifier): Adjust calls to make_typename_type and cp_parser_lookup_name. (cp_parser_namespace_name): Likewise. (cp_parser_class_name): Replace type_p parameter with tag_type. Adjust calls to make_typename_type and cp_parser_lookup_name. (cp_parser_class_head): Adjust calls to cp_parser_class_name. (cp_parser_base_specifier): Likewise. (cp_parser_lookup_name): Replace is_type parameter with tag_type. Adjust calls to make_typename_type and lookup_qualified_name. (cp_parser_lookup_name_simple): Adjust call to cp_parser_lookup_name. (cp_parser_constructor_declarator_p): Adjust call to cp_parser_class_name. * pt.c (convert_template_argument): Adjust all to make_typename_type. (tsubst_decl): Do not pre-substitute the type of the declaration. (tsubst): Hand off declarations more quickly. Adjust call to make_typename_type. PR c++/18512 * parser.c (cp_parser_postfix_dot_deref_expression): Robustify. PR c++/18674 * g++.old-deja/g++.brendan/crash16.C: Adjust error messages. * g++.old-deja/g++.law/ctors5.C: Likewise. * g++.old-deja/g++.other/crash25.C: Likewise. PR c++/18674 * g++.dg/template/error16.C: New test. PR c++/18512 * g++.dg/template/crash29.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91483 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-29 PR c++/18652Kriang Lerdsuwanakij
* name-lookup.c (pushtag): Change return type to tree. * cp-tree.h (pushtag): Adjust declaration. * decl.c (xref_tag, start_enum): Use return value of pushtag. * pt.c (push_template_decl_real): Return immediately if pushdecl_namespace_level returns error_mark_node. * g++.dg/lookup/crash6.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91470 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-26 Friend class name lookup 4/nKriang Lerdsuwanakij
* class.c (pushclass): Don't call cxx_remember_type_decls. * cp-tree.h (clear_anon_tags): Remove declaration. * decl.c (grokdeclarator): Don't call lookup_tag_reverse. * name-lookup.c (binding_entry_free, binding_table_free): Comment out functions. (binding_table_find_anon_type, binding_table_reverse_maybe_remap, binding_table_remove_anonymous_types, cxx_remember_type_decls, bt_print_entry, clear_anon_tags, follow_tag_typedef, lookup_tag, lookup_tag_reverse): Remove (begin_scope, leave_scope, kept_level_p, print_binding_level): Don't use type_decls field in cp_binding_level. (maybe_process_template_type_declaration, pushtag): Set CLASSTYPE_NESTED_UTDS directly. * name-lookup.h (binding_table_remove_anonymous_types, cxx_remember_type_decls, lookup_tag, lookup_tag_reverse): Remove declaration. (cp_binding_level): Remove type_decls field. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91342 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-25 PR c++/18001Mark Mitchell
* c-common.h (lvalue_use): Move here from c-ctypeck.c. (lvalue_or_else): Declare. * c-common.c (lvalue_or_else): Move here from c-typeck.c. * c-typeck.c (lvalue_use): Remove. (lvalue_or_else): Remove. PR c++/18556 * toplev.c (check_global_declarations): Set DECL_IGNORED_P on unemitted variables with static storage duration. PR c++/18445 * class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with unknown_type as non matching. Tidy up. * pt.c (build_non_dependent_expr): Do not build a NON_DEPENDENT_EXPR for a VAR_DECL. PR c++/18001 * cp-tree.h (lvalue_or_else): Remove declaration. * tree.c (lvalue_or_else): Remove. * typeck.c (build_unary_op): Adjust call to lvalue_or_else. (build_modify_expr): Likewise. PR c++/18625 * decl.c (duplicate_decls): Return error_mark_node on error, as specified. PR c++/18466 * decl.c (grokvardecl): Keep track of whether or not a there was explicit qualification. * name-lookup.c (set_decl_namespace): Complain about explicit qualification of a name within its own namespace. PR c++/18545 * typeck.c (check_return_expr): Robustify. PR c++/18445 * g++.dg/template/crash28.C: Likewise. PR c++/18001 * g++.dg/expr/unary2.C: Adjust lvalue messages. * g++.dg/ext/lvaddr.C: Likewise. * g++.dg/opt/pr7503-3.C: Likewise. PR c++/18466 * g++.dg/parse/qualified3.C: New test. * g++.old-deja/g++.other/friend7.C: Remove bogus qualification. PR c++/18545 * g++.dg/expr/return1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91301 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-25 Friend class name lookup 2/n, PR c++/14513, c++/15410Kriang Lerdsuwanakij
* name-lookup.c (lookup_name_real): Simplify. (lookup_type_scope): Add SCOPE parameter. Handle friend class lookup. * name-lookup.h (tag_scope): New enum type. (lookup_type_scope): Adjust declaration. * decl.c (lookup_and_check_tag, xref_tag, xref_tag_from_type): Change bool parameter GLOBALIZED to TAG_SCOPE parameter SCOPE. (start_enum): Likewise. Add assertion test that NAME is IDENTIFIER_NODE. Use anonymous name for dummy ENUMERAL_TYPE in case of error. * cp-tree.h (xref_tag, xref_tag_from_type): Adjust declarations. * parser.c (cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust call to xref_tag. * pt.c (lookup_template_class, instantiate_class_template): Likewise. * rtti.c (init_rtti_processing, build_dynamic_cast_1, tinfo_base_init, emit_support_tinfos): Likewise. * g++.dg/lookup/friend2.C: New test. * g++.dg/template/friend31.C: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91299 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-24gcc/Steven Bosscher
* c-opts.c (c_common_post_options): Don't clear flag_inline_functions. * dojump.c (clear_pending_stack_adjust): Remove check on flag_inline_functions, it's always true. * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter that can never trigger. * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at flag_inline_trees, now that flag_inline_functions is never cleared. * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set flag_inline_functions at optimization levels greater than or equal to 3. This is already done by default. ada/ * misc.c (gnat_post_options): Don't clear flag_inline_functions. cp/ * decl.c (cxx_init_decl_processing): Don't clear flag_inline_functions. fortran/ * options.c (gfc_post_options): Don't clear flag_inline_functions. java/ * class.c (make_class_data): Don't check flag_inline_functions. * lang.c (flag_really_inline): Remove unused flag. (java_handle_option): Don't set it here. Remove special handling of flag_inline_functions for Java. (java_init): Don't set flag_inline_trees here. Already done... (java_post_options): ...here. Don't clear flag_inline_functions. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91190 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-24 PR c++/18530Mark Mitchell
* cp-tree.h (CTOR_NAME): Remove. (DTOR_NAME): Remove. * decl.c (initialize_predefined_identifiers): Add spaces to the end of constructor and destructor names. PR c++/18530 * g++.dg/warn/Wshadow-3.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91179 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-24 PR c++/8929Giovanni Bajo
* decl.c (start_decl): Check for invalid specialization headers. PR c++/8929 * g++.old-deja/g++.oliva/template10.C: Remove xfail. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@91145 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-17 * decl.c (start_preparsed_function): Call check_function_type evenGiovanni Bajo
in templates. (require_complete_types_for_parms): Skip dependent types. (check_function_type): Likewise. * g++.dg/template/incomplete1.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@90779 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-15 Friend class name lookup 1/n, PR c++/18471Kriang Lerdsuwanakij
* decl.c (lookup_and_check_tag): New function. (xref_tag, start_enum): Use it. (check_elaborated_type_specifier): Move TEMPLATE_TYPE_PARM check before !DECL_IMPLICIT_TYPEDEF_P. Also display previously declared location. * name-lookup.c (lookup_name_current_level): Rename to ... (lookup_name_innermost_nonclass_level): ... this. (lookup_type_scope): New function. * name-lookup.h (lookup_name_current_level): Rename to ... (lookup_name_innermost_nonclass_level): ... this. (lookup_type_scope): Add declaration. * g++.dg/lookup/struct1.C: Adjust expected error. * g++.dg/parse/elab1.C: Likewise. * g++.dg/parse/elab2.C: Likewise. * g++.dg/parse/int-as-enum1.C: Likewise. * g++.dg/parse/struct-as-enum1.C: Likewise. * g++.dg/parse/typedef1.C: Likewise. * g++.dg/parse/typedef3.C: Likewise. * g++.dg/parse/typedef4.C: Likewise. * g++.dg/parse/typedef5.C: Likewise. * g++.dg/template/nontype4.C: Likewise. * g++.old-deja/g++.benjamin/typedef01.C: Likewise. * g++.old-deja/g++.other/elab1.C: Likewise. * g++.old-deja/g++.other/syntax4.C: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@90657 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-12 PR c++/18389Mark Mitchell
* decl.c (start_decl): Make sure to set *pop_scope_p. Return error_mark_node to indicate errors. PR c++/18429 * parser.c (cp_parser_direct_declarator): Disallow non-constant array bounds when not inside a function. PR c++/18436 * pt.c (tsubst_copy_and_build): Do not do Koenig lookup when an unqualified name resolves to a member function. PR c++/18407 * pt.c (tsubst_copy_and_build): Handle qualified names used from a derived class correctly. * decl2.c (import_export_decl): Fix typo in comment. * tree.c (pod_type_p): Likewise. PR c++/18389 * g++.dg/parse/cond1.C: New test. PR c++/18429 * g++.dg/template/array9.C: New test. * g++.dg/ext/vla1.C: Adjust error messages. * g++.dg/ext/vlm1.C: Likewise. * g++.dg/template/crash2.C: Likewise. PR c++/18436 * g++.dg/template/call3.C: New test. PR c++/18407 * g++.dg/template/ptrmem11.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@90545 138bc75d-0d04-0410-961f-82ee72b054a4
2004-11-09 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,Joseph Myers
c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c, gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c, tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c, config/darwin.c, config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c, config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c, config/iq2000/iq2000.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h, config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.c, config/rs6000/host-darwin.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/sh/symbian.c, config/stormy16/stormy16.c, config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %< and %> as appropriate. Use %' as apostrophe in diagnostics where applicable. Use %< and %> in place of '' quotes where applicable. Use %qs in place of %<%s%>. Consistently quote __builtin function names. ada: * misc.c (gnat_handle_option): Use %< and %> for quoting in warning message. cp: * call.c, class.c, decl.c, decl2.c, error.c, mangle.c, parser.c, pt.c, search.c, semantics.c, typeck.c: Use %q, %< and %> for quoting in diagnostics. * parser.c (cp_parser_sizeof_operand): Use '' instead of `' for quoting in printf format. * decl.c (duplicate_decls, start_decl): Use %qD instead of unquoted %D. objc: * objc-act.c: Use %q, %< and %> for quoting in diagnostics. testsuite: * gcc.dg/builtin-prefetch-1.c: Adjust expected messages. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@90337 138bc75d-0d04-0410-961f-82ee72b054a4