summaryrefslogtreecommitdiff
path: root/gcc/cp
Commit message (Collapse)AuthorAgeFilesLines
* gcc:zack2005-06-304-15/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pretty-print.h (PP_NL_ARGMAX): New. (text_info): Add locus. (struct chunk_info): New. (output_buffer): Add formatted_obstack, chunk_obstack, and cur_chunk_array. Change obstack to a pointer. (pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New. (struct pretty_print_info): Replace ideal_maximum_length and prefixing_rule with wrapping. (pp_line_cutoff, pp_prefixing_rule): Update to match. Update prototypes and wrapper macros throughout. * pretty-print.c (pp_formatted_text_data, pp_append_r) (pp_base_clear_output_area, pp_construct, pp_base_formatted_text) (pp_base_last_position_in_text, pp_base_newline, pp_base_character): Update for changes to pp structure. (pp_base_prepare_to_format, pp_base_format_text): Delete. (pp_base_format, pp_base_output_formatted_text): New functions. (pp_base_format_verbatim): Use pp_set_verbatim_wrapping. (pp_verbatim): Clear text.locus. (pp_printf): Likewise. Use pp_format and pp_output_formatted_text. * c-objc-common.c (c_tree_printer): Update function signature. * diagnostic.c (diagnostic_initialize): Update for changes to pp structure. (diagnostic_report_diagnostic): Call pp_format and then pp_output_formatted_text. (verbatim): Clear text.locus. * diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff): Update for changes to pp structure. * c-lang.c: No need to include c-pretty-print.h. * Makefile.in: Remove bogus line containing only a tab. (c-lang.o): Update dependencies. * toplev.c (announce_function): Don't use verbatim. (default_tree_printer): Update signature. * objc/objc-lang.c: No need to include c-pretty-print.h. * objc/Make-lang.in: Update dependencies. gcc/cp: * cp-lang.c: No need to include cxx-pretty-print.h. * error.c (cp_printer): Update signature. No need to process flags. (print_instantiation_partial_context): Output last newline with pp_base_newline. * Make-lang.in: Update dependencies. gcc/objcp: * objcp-lang.c: No need to include cxx-pretty-print.h. * Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101481 138bc75d-0d04-0410-961f-82ee72b054a4
* * coretypes.h (tls_model): Add TLS_MODEL_NONE as 0.steven2005-06-302-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h (struct tree_decl): New field `tls_model'. (DECL_TLS_MODEL): New. (DECL_THREAD_LOCAL_P): Rename from DECL_THREAD_LOCAL, make it a predicate. * rtl.h (decl_default_tls_model): Add prototype for it. * varasm.c (decl_tls_model): Rewritten and renamed to ... (decl_default_tls_model): ... this. (default_encode_section_info): Use DECL_TLS_MODEL instead of decl_tls_model. (assemble_variable): Replace DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P. (default_section_type_flags_1): Likewise. (categorize_decl_for_section): Likewise. * tree.c (staticp): Likewise. (recompute_tree_invarant_for_addr_expr): Likewise. * drawf2out (loc_descriptor_from_tree_1): Likewise. * c-decl.c (diagnose_mismatched_decls): Likewise. with DECL_THREAD_LOCAL_P. (start_decl): Likewise. * print-tree.c (print_node): Likewise. Print the TLS model. (grokdeclarator): Set the default DECL_TLS_MODEL here. * c-common.c (handle_tls_model_attribute): Rewrite to set the TLS model up based on the attribute. Never add the attribute to the decl's attributes list. * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Replace DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P. cp/ * decl.c (start_decl): Replace DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P. (cp_finish_decl): Likewise. (grokvardecl): Set the default DECL_TLS_MODEL here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101465 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (invalid_conversion, invalid_unary_op,jsm282005-06-283-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | invalid_binary_op): New hooks. * target-def.h (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP, TARGET_INITIALIZER): Likewise. * hooks.h (hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): New. * hooks.c (hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): Likewise. * gcc/doc/tm.texi (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document. * c-convert.c (convert): Use invalid_conversion hook. * c-typeck.c (build_unary_op): Use invalid_unary_op hook. (build_binary_op): Use invalid_binary_op hook. * config/ia64/ia64-modes.def: Define RFmode. * config/ia64/ia64-protos.h (spill_xfmode_operand): Remove. (ia64_expand_movxf_movrf): New. * config/ia64/ia64.md (movxf): Move code to ia64_expand_movxf_movrf. (movrf, movrf_internal): New. * ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op, ia64_invalid_binary_op, TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New. (spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand. Add mode parameter. Make static. (ia64_expand_movxf_movrf): New, moved from ia64.md. Handle RFmode as well as XFmode. (ia64_function_arg, ia64_function_value, ia64_register_move_cost, ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode. (ia64_init_builtins): Set up __fpreg as RFmode. (ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg. cp: * cvt.c (ocp_convert): Use invalid_conversion hook. * typeck.c (build_binary_op): Use invalid_binary_op hook. (build_unary_op): Use invalid_unary_op hook. testsuite: * g++.dg/ext/fpreg1.C, gcc.target/ia64/fpreg-1.c, gcc.target/ia64/fpreg-2.c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Paul Brook <paul@codesourcery.com>pbrook2005-06-283-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * Makefile.in: Set and use UNWIND_H. Install as unwind.h. * c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc. * except.c (add_ehspec_entry): Generate arm eabi filter lists. (assign_filter_values): Ditto. (output_ttype): New function. (output_function_exception_table): Use output_ttype. Generate arm eabi filter lists. (default_init_unwind_resume_libfunc): New function. * except.h (default_init_unwind_resume_libfunc): Add prototype. * optabs.c (init_optabs): Don't set unwind_resume_libfunc. * opts.c (decode_options): Use targetm.unwind_tables_default. * target-def.h (TARGET_ASM_TTYPE): Provide and use definition. (TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto. * target.h (struct gcc_target): Add asm.ttype, unwind_tables_default and arm_eabi_unwinder. * unwind-c.c: Support Arm EABI unwinder. * unwind.h: Rename ... * unwind-generic.h: ... To this. * doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document. (TARGET_UNWID_TABLES_DEFAULT): Document. * config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype. * config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions. (TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Define. (thumb_pushpop, thumb_output_function_prologue): Output unwinding directives. (arm_unwind_emit_stm, arm_unwind_emit_set): New functions. * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when !TARGET_UNWIND_INFO. (ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define. * config/arm/bpabi.h (TARGET_UNWIND_INFO): Define. * config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND. * config/arm/lib1funcs.asm: Include libunwind.S. * config/arm/libgcc-bpabi.ver: Add unwinding routines. * config/arm/libunwind.S: New file. * config/arm/pr-support.c: New file. * config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind. (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set. * config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set. * config/arm/unwind-arm.c: New file. * config/arm/unwind-arm.h: New file. * config/i386/t-netware (USER_H): Remove unwind.h. * config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define. gcc/cp/ * Make-lang.in (cp/except.o): Depend on $(TARGET_H) * except.c: Include target.h. (init_exception_processing): Initialize unwind_resume_libfunc. * doc/tm.texi: Document TARGET_ASM_TTYPE gcc/ada/ * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc. gcc/java/ * decl.c (java_init_decl_processing): Call default_init_unwind_resume_libfunc. gcc/objc/ * objc-act.c (objc_init_exceptions): Call default_init_unwind_resume_libfunc. libstdc++/ * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for __cxa_end_cleanup. * libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c. * libsupc++/eh_arm.cc: New file. * libsupc++/eh_call.cc: New file. * libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use __gxx_caught_object. (__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call _Unwind_Complete when using the ARM EABI. (__cxa_end_catch): Use __is_gxx_exception_class. * libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when using the ARM EABI. (save_caught_exception, restore_caught_exception): New functions. (_throw_typet): New typedef. (get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM EABI implementations. (PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI unwinding libary. (__cxa_unexpected): Disable when using the ARM EABI. * libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS. (__cxa_rethrow): Use __is_gxx_exception_class. Call _Unwind_RaiseException when using the ARM EABI. * libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM EABI semantics. (struct __cxa_eh_globals): Ditto. (__cxa_call_terminate): Add prototype. (__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add prototypes. (__get_exception_header_from_obj, __get_exception_header_from_ue): Move earlier in file. (__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS, __gxx_caught_object): New functions. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libmath/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * src/Makefie.in: Regenerate. * testsuite/makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101385 138bc75d-0d04-0410-961f-82ee72b054a4
* remove 2004 entries, which have been moved to ChangeLog.2004nathan2005-06-271-6879/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101353 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/21911ghazi2005-06-263-2/+9
| | | | | | | | | | | | | | | | | | | | * c-common.c (check_function_sentinel): Pass in named argument list, skip over named arguments before looking for a sentinel. (check_function_arguments): Pass in named argument list. * c-common.h (check_function_arguments): Likewise. * c-typeck.c (build_function_call): Likewise. cp: * call.c (build_over_call): Pass in named argument list to `check_function_arguments'. * typeck.c (build_function_call): Likewise. testsuite: PR c/21911 * gcc.dg/format/sentinel-1.c: Update. Fix execl* calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101341 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c (decl_mode_check_failed,ghazi2005-06-262-1/+5
| | | | | | | | | | regexp_mode_check_failed): Add noreturn attribute. cp: * cp-tree.h (lang_check_failed): Add noreturn attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101340 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kcook2005-06-2542-82/+86
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101312 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19317jason2005-06-232-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | Leave the return slot target in the MODIFY_EXPR rather than making it an argument, but only use it if the CALL_EXPR has a flag set. * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to CALL_EXPR_RETURN_SLOT_OPT. * calls.c (expand_call): Adjust. * tree-inline.c (expand_call_inline): Adjust. * tree-pretty-print.c (dump_generic_node): Adjust. And set the flag as appropriate. * gimplify.c (gimplify_modify_expr_rhs): Set CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe. * tree-nrv.c (execute_return_slot_opt): Set CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis. * tree-pass.h: Declare pass_return_slot. * tree-optimize.c (init_tree_optimization_passes): Add it. * cp/semantics.c (simplify_aggr_init_expr): Use CALL_EXPR_RETURN_SLOT_OPT, not CALL_EXPR_HAS_RETURN_SLOT_ADDR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101269 138bc75d-0d04-0410-961f-82ee72b054a4
* * pt.c (register_specialization): Remove superfluous assertion.reichelt2005-06-222-5/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101253 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (locate_old_decl): Add format attribute.ghazi2005-06-184-6/+14
| | | | | | | | | | | | | | (implicit_decl_warning): Likewise. cp: * call.c (convert_like_real): Add format attribute. * typeck.c (check_for_casting_away_constness, build_static_cast_1): Likewise. * typeck2.c (readonly_error, cxx_incomplete_type_diagnostic): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101158 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-17 Geoffrey Keating <geoffk@apple.com>geoffk2005-06-172-10/+12
| | | | | | | | | | | | | | | | PR c++/17413 * pt.c (type_unification_real): Apply template type deduction even to procedure parameters that are not dependent on a template parameter. Index: testsuite/ChangeLog 2005-06-17 Geoffrey Keating <geoffk@apple.com> PR c++/17413 * g++.dg/template/local5.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101141 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-162-4/+10
| | | | | | | | | | | * rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might change. (create_pseudo_type_info): First parameter is an int. testsuite: * g++.dg/rtti/crash2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101011 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (build_binary_op): Same.aldyh2005-06-152-2/+12
| | | | | | | * testsuite/g++.dg/conversion/simd3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100977 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-152-1/+6
| | | | | | | | | | | | PR c++/20678 * error.c (dump_expr) <COMPONENT_REF case>: Check DECL_NAME is not null. testsuite: PR c++/20678 * g++.dg/other/crash-4.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100972 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in: Reformat some long lines.nathan2005-06-156-274/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (gt-cp-rtti.h): New target. (cp/rtti.o): Add dependency. * config-lang.in (gtfiles): Add cp/rtti.c. * cp-tree.h (CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE, CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE, CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE, CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE, CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE): Remove. (ti_desc_type_node, bltn_desc_type_node, ptr_desc_type_node, ary_desc_type_node, func_desc_type_node, enum_desc_type_node, class_desc_type_node, si_class_desc_type_node, vmi_class_desc_type_node, ptm_desc_type_node, base_desc_type_node): Remove. * decl.c: Adjust documentation of global trees. * rtti.c (TINFO_PSEUDO_TYPE, TINFO_VTABLE_DECL, TINFO_REAL_NAME): Remove. (struct tinfo_s): New. (enum tinfo_kind): New. (tinfo_descs): New. (get_tinfo_decl): Adjust use of tinfo descriptor. (tinfo_base_init, generic_initializer, ptr_initializer, ptm_initializer, class_initializer): Likewise. (get_pseudo_ti_init): Take descriptor index. Adjust. (create_pseudo_type_info): Likewise. (get_pseudo_ti_desc): Return descriptor index. Adjust. (create_tinfo_types): Adjust use of create_pseudo_type_info. (emit_tinfo_decl): Adjust use of tinfo descriptor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100971 138bc75d-0d04-0410-961f-82ee72b054a4
* Canonicalize whitespace.mrs2005-06-1537-2772/+2788
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100965 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove extra white spacing at end of lines.mrs2005-06-1442-2744/+2745
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100952 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST.sayle2005-06-142-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100936 138bc75d-0d04-0410-961f-82ee72b054a4
* Index: ChangeLoggeoffk2005-06-142-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-13 Geoffrey Keating <geoffk@apple.com> * Makefile.in (install-man): Doesn't really depend on installdirs. (various rules for installing manpages): Do depend on installdirs. Index: cp/ChangeLog 2005-06-13 Geoffrey Keating <geoffk@apple.com> * Make-lang.in (c++.install-man): Doesn't really depend on installdirs. (rule for installing g++.1 manpage): Does depend on installdirs. Index: fortran/ChangeLog 2005-06-13 Geoffrey Keating <geoffk@apple.com> * Make-lang.in (fortran.install-man): Doesn't depend on installdirs. (rule for installing f95.1 manpage): Does depend on installdirs. Index: java/ChangeLog 2005-06-13 Geoffrey Keating <geoffk@apple.com> * Make-lang.in (rule for installing gcj.1): Depends on installdirs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100928 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-133-33/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/20789 * decl.c (cp_finish_decl): Clear runtime runtime initialization if in-class decl's initializer is bad. PR c++/21929 * parser.c (struct cp_parser): Document that scope could be error_mark. (cp_parser_diagnose_invalid_type_name): Cope with error_mark for scope. (cp_parser_nested_name_specifier): Return NULL_TREE on error. (cp_parser_postfix_expression): Deal with null or error_mark scope. (cp_parser_elaborated_type_specifier): Adjust cp_parser_nested_name_specifier call. * parser (cp_parser_skip_to_end_of_block_or_statement): Cleanup. testsuite: PR c++/21929 * g++.dg/parse/crash26.C: New. PR c++/20789 * g++.dg/init/member1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100880 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21930sayle2005-06-122-9/+8
| | | | | | | | | | * error.c (dump_expr): UNARY_PLUS_EXPR need not handle void types. Treat CONVERT_EXPR identically to NOP_EXPR. * g++.dg/other/error10.C: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100865 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/10611aldyh2005-06-103-7/+41
| | | | | | | | | | | * cvt.c (build_expr_type_conversion): Same. * typeck.c (build_binary_op): Handle vectors. (common_type): Same. (type_after_usual_arithmetic_conversions): Same. * testsuite/g++.dg/conversion/simd2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100823 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-0810-83/+125
| | | | | | | | | | | | | | | | | | | | | | | | | PR c++/19497 * cp-tree.def (USING_DECL): Update documentation. * cp-tree.h (DECL_DEPENDENT_P): New. (USING_DECL_DECLS, USING_DECL_SCOPE): New. * class.c (handle_using_decl): Move most of the processing to ... * name-lookup.c (do_class_using_decl): ... here. Make stricter. (push_using_decl): Use USING_DECL_SCOPE. (cp_emit_debug_info_for_using): Make extern. * cxx-pretty-print.c (pp_cxx_statement) <USING_DECL case>: Adjust. * name-lookup.h (cp_emit_debug_info_for_using): Declare. * pt.c (tsubst_decl) <USING_DECL case>: Use do_class_using_decl when tsubsting. (tsubst_expr): Use USING_DECL_SCOPE. * search.c (lookup_field_1): Use DECL_DEPENDENT_P. * semantics.c (finish_member_declaration): Likewise. testsuite: PR c++/19497 * g++.dg/inherit/using5.C: New. * g++.dg/inherit/using6.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100757 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/19894reichelt2005-06-083-2/+19
| | | | | | | | | | | | | | | * pt.c (tsubst): Reject pointer-to-member of type void. * g++.dg/template/ptrmem15.C: New test. PR c++/20563 * parser.c (cp_parser_label_declaration): Deal with invalid/missing identifiers. * g++.dg/ext/label4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100754 138bc75d-0d04-0410-961f-82ee72b054a4
* missed entrynathan2005-06-071-0/+7
| | | | | | | | | | | | * cp-tree.def (DEFAULT_ARG): Adjust documentation. * cp-tree.h (DEFARG_INSTANTIATIONS): New. (struct tree_default_arg): Add instantiations member. * parser.c (cp_parser_late_parsing_default_args): Adjust to use a VEC. * pt.c (tsubst_arg_types): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100715 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.def (DEFAULT_ARG): Adjust documentation.nathan2005-06-074-10/+15
| | | | | | | | | | | * cp-tree.h (DEFARG_INSTANTIATIONS): New. (struct tree_default_arg): Add instantiations member. * parser.c (cp_parser_late_parsing_default_args): Adjust to use a VEC. * pt.c (tsubst_arg_types): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100707 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-072-1/+9
| | | | | | | | | | * parser.c (cp_parser_late_parsing_default_args): Fix overeager assert in previous patch. testsuite: * g++.dg/parse/defarg10.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100702 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/po/jakub2005-06-062-18/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exgettext: Handle gmsgid and cmsgid arguments specially, as gcc-internal-format and c-format. Because of xgettext bug, invoke xgettext once with --language=c, once with --language=GCC-source and then merge together. Fail if xgettext is not 0.14.5 or later. gcc/ * intl.h (G_): New macro. * rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid instead of msgid for argument name. * tree-ssa.c (warn_uninit): Likewise. * c-parser.c (c_parser_error): Likewise. * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise. * config/darwin-c.c (BAD): Likewise. * config/c4x/c4x-c.c (BAD): Likewise. * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise. * c-errors.c (pedwarn_c99, pedwarn_c90): Likewise. * c-common.c (c_parse_error): Likewise. * diagnostic.c (diagnostic_set_info, verbatim, inform, warning, warning0, pedwarn, error, sorry, fatal_error, internal_error): Likewise. (fnotice): Use cmsgid instead of msgid for argument name. * gcov.c (fnotice): Likewise. * protoize.c (notice): Likewise. * final.c (output_operand_lossage): Likewise. * gcc.c (fatal, notice): Likewise. (error): Use gmsgid instead of msgid for argument name. * collect2.c (notice, fatal_perror, fatal): Use cmsgid instead of msgid for argument name. (error): Use gmsgid instead of msgid for argument name. * c-decl.c (locate_old_decl, implicit_decl_warning): Use G_() instead of N_(). * c-typeck.c (readonly_error, convert_for_assignment): Likewise. * tree-inline.c (inline_forbidden_p_1): Likewise. * ABOUT-GCC-NLS: Require gettext 0.14.5 or later. Mention the new conventions for marking translations. * doc/install.texi: Mention gettext 0.14.5 or later requirement. gcc/cp/ * error.c (locate_error): Use gmsgid instead of msgid for argument name. (cp_error_at, cp_warning_at, cp_pedwarn_at): Likewise. gcc/java/ * jv-scan.c (fatal_error, warning, warning0): Use gmsgid instead of msgid for argument name. * gjavah.c (error): Likewise. * java-tree.h (parse_error_context): Likewise. * parse.y (parse_error_context, parse_warning_context, issue_warning_error_from_context): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100676 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-064-13/+46
| | | | | | | | | | | | | | PR 21903 * cp-tree.def (DEFAULT_ARG): Document TREE_CHAIN use. * parser.c (cp_parser_late_parsing_default_args): Propagate parsed argument to any early instantiations. * pt.c (tsubst_arg_types): Chain early instantiation of default arg. testsuite: PR 21903 * g++.dg/parse/defarg9.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100669 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-066-28/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/20637 * cp-tree.h (add_method): Add using_decl parameter. * class.c (add_method): Add using_decl parameter. Adjust error messages. (handle_using_decl): Pass the using decl to add_method. (clone_function_decl): Adjust add_member calls. * decl2.c (check_classfn): Likewise. * method.c (lazily_declare_fn): Likewise. * semantics.c (finish_member_declaration): Likewise. * method.c (synthesize_method): Use inform, not warning. testsuite: PR c++/20637 * g++.dg/inherit/using4.C: New. * g++.dg/overload/error1.C: Adjust expected errors. * g++.old-deja/g++.benjamin/warn02.C: Likewise. * g++.old-deja/g++.brendan/arm2.C: Likewise. * g++.old-deja/g++.other/redecl2.C: Likewise. * g++.old-deja/g++.other/redecl4.C: Likewise. * g++.old-deja/g++.pt/memtemp78.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100664 138bc75d-0d04-0410-961f-82ee72b054a4
* * config-lang.in (target_libs): Remove target-gperf.hp2005-06-062-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100659 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21619mmitchel2005-06-054-7/+44
| | | | | | | | | | | | | | * cp-tree.h (DECL_IS_BUILTIN_CONSTANT_P): New macro. * parser.c (cp_parser_postfix_expression): Allow non-constant expressions as arguments to __builtin_constant_p. * tree.c (builtin_valid_in_constant_expr_p): Use DECL_IS_BUILTIN_CONSTANT_P. PR c++/21619 * g++.dg/ext/builtin9.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100626 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21853mmitchel2005-06-032-10/+16
| | | | | | | | | | | * typeck.c (casts_away_constness_r): Do not drop cv-qualifiers on the pointed-to type for a pointer-to-member. PR c++/21853 * g++.dg/expr/static_cast6.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100560 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21336mmitchel2005-06-034-43/+57
| | | | | | | | | | | | | | * cp-tree.h (grok_op_properties): Remove friendp parameter. * decl.c (grokfndecl): Adjust call. (grok_op_properties): Determine the class of which the function is a member by looking at its DECL_CONTEXT, not current_class_type. * pt.c (tsubst_decl): Adjust call to grok_op_properties. PR c++/21336 * g++.dg/template/new2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100541 138bc75d-0d04-0410-961f-82ee72b054a4
* * method.c (synthesize_method): Add addtional arg to warning call.nathan2005-06-022-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100511 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-025-16/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/21280 * Make-lang.in (method.o): Add diagnostic.h * decl.c (start_preparsed_function): Use decl's location for file info. * decl2.c (cp_finish_file): Set input_location before synthesizing a function. (mark_used): When deferring a synthesized function, save current location. Do not set function's location when actually synthesizing it. * method.c: #include diagnostic.h. (synthesize_method): Set the functions source location. Show needed location if errors are emitted. testsuite: PR c++/21280 * g++.dg/opt/interface2.h: New. * g++.dg/opt/interface2.C: New. * g++.dg/init/ctor4.C: Adjust error lines. * g++.old-deja/g++.bob/inherit2.C: Likewise. * g++.old-deja/g++.bugs/900205_04.C: Likewise. * g++.old-deja/g++.jason/opeq3.C: Likewise. * g++.old-deja/g++.pt/assign1.C: Likewise. * g++.old-deja/g++.pt/crash20.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100500 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (start_decl): Simplify specialization handling. Removenathan2005-06-023-17/+26
| | | | | | | | unneeded CLASSTYPE_TEMPLATE_INSTANTIATION check. * mangle.c (discriminator_for_local_entity): Use VEC_index. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100488 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-022-7/+11
| | | | | | | | | | | PR c++/20350 * decl.c (duplicate_decls): Copy all of DECL_USE_TEMPLATE. testsuite: PR c++/20350 * g++.dg/template/spec24.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100486 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-06-022-2/+6
| | | | | | | | | | | | PR c++/21151 * name-lookup.c (pushtag): Push local class even in a template. testsuite: PR c++/21151 * g++.dg/pch/local-1.C: New. * g++.dg/pch/local-1.Hs: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100482 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-05-312-1/+7
| | | | | | | | | | | | PR c++/21165 * init.c (integral_constant_value): Check the type of the initializer, not the decl. testsuite: PR c++/21165 * g++.dg/template/init5.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100402 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21784mmitchel2005-05-302-9/+19
| | | | | | | | | | | * name-lookup.c (do_nonmember_using_decl): Ignore builtin functions, even when the used name is not a function. PR c++/21784 * g++.dg/lookup/using14.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100365 138bc75d-0d04-0410-961f-82ee72b054a4
* * operators.def, optimize.c: Update copyright.kazu2005-05-303-2/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100363 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21340mmitchel2005-05-292-0/+22
| | | | | | | | | | | * method.c (implicitly_declare_fn): Clear processing_template_decl when generating implicit declaration. PR c++/21340 * g++.dg/init/ctor6.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100306 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21614mmitchel2005-05-282-7/+22
| | | | | | | | | | | | * typeck.c (get_member_function_from_ptrfunc): Do not attempt conversions to base classes of incomplete types. PR c++/21614 * g++.dg/expr/ptrmem6.C: New test. * g++.dg/expr/ptrmem6a.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100291 138bc75d-0d04-0410-961f-82ee72b054a4
* ./:ian2005-05-283-0/+39
| | | | | | | | | | | | | | | * c-decl.c (add_stmt): Add C frontend specific version. (stmts_are_full_exprs_p): Remove. * c-common.h (STMT_IS_FULL_EXPR_P): Remove. (stmts_are_full_exprs_p): Don't declare. * c-semantics.c (add_stmt): Remove. cp/: * semantics.c (add_stmt): Add C++ frontend specific version. * cp-tree.h (STMT_IS_FULL_EXPR_P): Define. (stmts_are_full_exprs_p): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100289 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-tree.def (UNARY_PLUS_EXPR): New C++ unary tree code.sayle2005-05-2714-16/+65
| | | | | | | | | | | | | | | | | | | | | | | | * parser.c (cp_parser_unary_expression): Use UNARY_PLUS_EXPR instead of CONVERT_EXPR. (cp_parser_unary_expression): Likewise. * typeck.c (build_unary_op): Likewise. * call.c (add_builtin_candidate, build_new_op): Likewise. * error.c (dump_expr): Likewise. * pt.c (tsubst_copy, tsubst_copy_and_build): Likewise. * decl.c (ambi_op_p, grok_op_properties): Likewise. * dump.c (dump_op): Likewise. * lex.c (init_operators): Likewise. * operators.def ("+"): Likewise. * cp-gimplify.c (cp_gimplify_expr): Handle UNARY_PLUS_EXPR like a conversion, if the result and argument types differ. * tree.c (fold_if_not_in_template): Fold UNARY_PLUS_EXPR much like a NOP_EXPR when !processing_template_decl. * cxx-pretty-print.c (pp_cxx_cast_expression): Prototype. (pp_cxx_unary_expression): Handle new UNARY_PLUS_EXPR tree code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100285 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-05-272-27/+32
| | | | | | | | | | | | PR c++/21455 * typeck.c (get_delta_difference): Cope with incomplete but equal classes. Reorder if. testsuite: PR c++/21455 * g++.dg/inherit/ptrmem3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100258 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:nathan2005-05-272-0/+14
| | | | | | | | | | | | PR c++/21681 * parser.c (cp_parser_late_parsing_for_member): Disable access checking for template functions. testsuite: PR c++/21681 * g++.dg/parse/template16.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100252 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/21768reichelt2005-05-262-4/+9
| | | | | | | | * pt.c (redeclare_class_template): Change error message according to coding conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100206 138bc75d-0d04-0410-961f-82ee72b054a4