- 23 Sep, 2001 3 commits
-
-
From-SVN: r45760
GCC Administrator committed -
From-SVN: r45759
Anthony Green committed -
From-SVN: r45758
Anthony Green committed
-
- 22 Sep, 2001 14 commits
-
-
c-format.c (init_function_format_info): Check __builtin_printf and __builtin_fprintf even if -ffreestanding. * c-format.c (init_function_format_info): Check __builtin_printf and __builtin_fprintf even if -ffreestanding. Check C99 functions in gnu89 mode. testsuite: * gcc.dg/format/builtin-1.c, gcc.dg/format/ext-6.c: New tests. From-SVN: r45757
Joseph Myers committed -
2001-09-22 Alexandre Petit-Bianco <apbianco@redhat.com> * decl.c (init_decl_processing): Fixed typo in predef_filenames last three initializations. Fixes PR java/4360. ( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00903.html ) From-SVN: r45756
Alexandre Petit-Bianco committed -
* c-common.c (format_attribute_table): Remove decl. * tree.h (format_attribute_table, lang_attribute_table): New decls. (lang_attribute_common): Likewise. From-SVN: r45754
Richard Kenner committed -
* attribs.c: New file, from c-common.c. (attribute_tables): Now four elements. (format_attribute_table, lang_attribute_common): New variables. (init_attributes): Reflect above changes. (handle_mode_attribute): Delete check for wider than uintmax. * c-common.c: Delete parts moved to attribs.c. (enum attrs): Deleted; unused. (c_format_attribute_table): New variable. (c_common_lang_init): Initialize format_attribute_table with it. * c-common.h (decl_attributes): Remove decl. * tree.h (decl_attribute): Move it to here. * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o. (attribs.o): New rule. From-SVN: r45753
Richard Kenner committed -
* libI77/configure.in (__EXTENSIONS__): Define. * libI77/config.h.in, libI77/conifgure: regenerate. * libU77/configure.in (__EXTENSIONS__): Likewise. From-SVN: r45752
Richard Earnshaw committed -
* function.c (fix_lexical_address): Use set_mem_alias_set. (expand_function_start): Likewise. * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise. From-SVN: r45751
Richard Kenner committed -
From-SVN: r45750
Richard Kenner committed -
* attribs.c: New file, from c-common.c. (attribute_tables): Now four elements. (format_attribute_table, lang_attribute_common): New variables. (init_attributes): Reflect above changes. (handle_mode_attribute): Delete check for wider than uintmax. * c-common.c: Delete parts moved to attribs.c. (enum attrs): Deleted; unused. (c_format_attribute_table): New variable. (c_common_lang_init): Initialize format_attribute_table with it. * c-common.h (decl_attributes): Remove decl. * tree.h (decl_attribute): Move it to here. * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o. (attribs.o): New rule. * ch/Make-lang.in (cc1chill): Add attribs.o. * cp/Make-lang.in (CXX_C_OBJS): Add attribs.o. From-SVN: r45749
Richard Kenner committed -
2001-09-22 George Helffrich <george@geo.titech.ac.jp> * g77.dg/strlen0.f: New test. From-SVN: r45748
George Helffrich committed -
Thu Sep 20 15:05:20 JST 2001 George Helffrich <george@geo.titech.ac.jp> * com.c (ffecom_subscript_check_): Loosen subscript checking rules for character strings, to permit substring expressions like string(1:0). * news.texi: Document this as a new feature. From-SVN: r45747
George Helffrich committed -
From-SVN: r45746
Andreas Jaeger committed -
From-SVN: r45745
GCC Administrator committed -
2001-09-20 Alexandre Petit-Bianco <apbianco@redhat.com> * parse.y (patch_method_invocation): Build class initialization when static finals are used to qualify method invocation. Fixes PR java/4366. ( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00880.html ) From-SVN: r45743
Alexandre Petit-Bianco committed -
* reload1.c (reload): Use delete_insn instead of splatting NOTE_INSN_DELETED. From-SVN: r45740
Richard Henderson committed
-
- 21 Sep, 2001 23 commits
-
-
reload.c (push_secondary_reload): Don't check for "=" in output constraint after ""->ALL_REGS check. * reload.c (push_secondary_reload): Don't check for "=" in output constraint after ""->ALL_REGS check. From-SVN: r45739
Richard Henderson committed -
From-SVN: r45738
Richard Henderson committed -
* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl. From-SVN: r45737
Richard Henderson committed -
* rtl.h (LCT_RETURNS_TWICE): New. * calls.c (emit_call_1): Set current_function_calls_setjmp for ECF_RETURNS_TWICE. (emit_library_call_value_1): Map LCT_RETURNS_TWICE to ECF_RETURNS_TWICE. * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for call to setjmp. * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc. * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New. (JMP_BUF_SIZE): New. From-SVN: r45736
Richard Henderson committed -
* config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd' to R8_REGS. From-SVN: r45735
Richard Henderson committed -
* include/jvm.h (_Jv_VTable): Handle function descriptors for ia64; add get_method, set_method, vtable_elt_size, new_vtable. (_Jv_ArrayVTable): Derive from _Jv_VTable. * resolve.cc (_Jv_PrepareClass): Use new _Jv_VTable methods. * interpret.cc (_Jv_InterpMethod::continue1): Likewise. * java/lang/natClassLoader.cc (_Jv_NewArrayClass): Likewise. From-SVN: r45734
Richard Henderson committed -
gcc/ * tree.def (FDESC_EXPR): New. * expr.c (expand_expr): Handle it. * varasm.c (initializer_constant_valid_p): Likewise. (output_constant): Likewise. * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New. * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New. (ASM_OUTPUT_FDESC): New. * doc/tm.texi: Document the new macros. gcc/cp/ * class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS. (build_vtbl_initializer): Likewise. (build_vfn_ref): New. * cp-tree.h: Declare it. * call.c (build_over_call): Use it. * decl2.c (mark_vtable_entries): Mark FDESC_EXPR. * typeck.c (get_member_function_from_ptrfunc): Mind descriptors. gcc/java/ * class.c (get_dispatch_table): Handle function descriptors. (build_dtable_decl): Likewise. * expr.c (build_invokevirtual): Likewise. gcc/testsuite/ * g++.old-deja/g++.abi/ptrmem.C: Update for ia64 c++ abi. * g++.old-deja/g++.abi/vtable2.C: Likewise. From-SVN: r45733
Richard Henderson committed -
2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com> * parse.h: (WFL_STRIP_BRACKET): Re-written using build_type_name_from_array_name. (STRING_STRIP_BRACKETS): New macro. * parse.y (build_type_name_from_array_name): New function. (array_creation_expression:): Accumulate []s instead of [s. (cast_expression:): Accumulate []s instead of [s after cast type name. (build_array_from_name): Local string deleted, use build_type_name_from_array_name. (build_unresolved_array_type): Accumulate []s instead of [s after type name. (register_fields): Fixed comment. (resolve_class): Local name, base deleted, new locals tname and array_dims. Use build_type_name_from_array_name. Use array_dims to build array type. (purify_type_name): Use STRING_STRIP_BRACKETS. ( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00779.html ) From-SVN: r45732
Alexandre Petit-Bianco committed -
2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com> * stringpool.c (get_identifier_with_length): New function. * tree.h (get_identifier_with_length): New prototype. ( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00779.html ) From-SVN: r45731
Alexandre Petit-Bianco committed -
cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block... * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block once merging is complete. From-SVN: r45730
Richard Earnshaw committed -
From-SVN: r45729
Richard Kenner committed -
From-SVN: r45728
Richard Kenner committed -
cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes that would be invalid after a merge. * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes that would be invalid after a merge. From-SVN: r45727
Richard Earnshaw committed -
* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill. * cfg.c (delete_insn): Rename from ....; use remove_insn; do not remove some labels. (flow_delete_insn): This one. (delete_insn_chain): Rename from ...; do not care labels. (flow_delete_insn_chain): ... this one. (flow_delete_block): Remove the insns one BB has been expunged. (merge_blocks_nomove): Likewise. (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care updating BB boundaries. (tidy_fallthru_edge): Likewise. (commit_one_edge_insertion): Likewise. * cfgbuild.c (find_basic_block): Likewise. (find_basic_blocks_1): Likewise. * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise. (try_crossjump_to_edge): Likewise. (try_optimize_cfg): Likewise. * cse.c (delete_trivially_dead_insns): Likewise. * df.c (df_insn_delete): Likewise. * doloop.c (doloop_modify): Use delete_related_insns. * emit-rtl.c (try_split): Likewise. (remove_insn): Update BB boundaries. * expect.c (connect_post_landing_pads): Use delete_related_insns. * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care updating BB boundaries. (propagate_block_delete_insn): Likewise. (propagate_block_delete_libcall): Likewise. * function.c (delete_handlers): Use delete_related_insns. (thread_prologue_and_epilogue_insns): Likewise. * gcse.c (delete_null_pointer_checks): Use delete_related_insns. * genpeep.c (gen_peephole): Use delete_related_insns. * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating BB boundaries. (find_cond_trap): Likewise. * integrate.c (save_for_inline): Use delete_related_insns. (copy_insn_list): Likewise. * jump.c (pruge_linie_number_notes): Likewise. (duplicate_loop_exit_test): Likewise. (delete_computation): Likewise. (delete_related_insn): Rename from ...; use delete_insn (delete_insn): ... this one. (redirect_jump): Use delete_related_insns. * loop.c (scan_loop): Likewise. (move_movables): Likewise. (find_and_verify_loops): Likewise. (check_dbra_loop): Likewise. * recog.c (peephole2_optimize): Likewise. * reg-stack.c (delete_insn_for_stacker): Remove. (move_for_stack_reg): Use delete_insn. * regmove.c (combine_stack_adjustments_for_block): Likewise. * reload1.c (delete_address_reloads): Use delete_related_insns. (fixup_abnormal_edges): Use delete_insn. * recog.c (emit_delay_sequence): Use delete_related_insns. (delete_from-delay_slot): Likewise. (delete_scheduled_jump): likewise. (optimize_skip): Likewise. (try_merge_delay_insns): Likewise. (full_simple_delay_slots): Likewise. (fill_slots_from_thread): Likewise. (relax_delay_slots): Likewise. (make_return_insns): Likewise. (dbr_schedule): Likewise. * rtl.h (delete_insn): Rename to delete_related_insns. (delete_insn, delete_insn_chain): New prototypes. * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done by df_insn_delete already. * ssa-dce.c (delete_insn_bb): Use delete_insn. * ssa.c (convert_from_ssa): Use delete_related_insns. * unroll.c (unroll_loop): Likewise. (calculate_giv_inc): Likewise. (copy_loop_body): Likewise. * i386-protos.h (ix86_libcall_value, ix86_function_value, ix86_function_arg_regno_p, ix86_function_arg_boundary, ix86_return_in_memory, ix86_function_value): Declare. * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers): new static valurables. (x86_64_reg_class): New enum (x86_64_reg_class_name): New array. (classify_argument, examine_argument, construct_container, merge_classes): New static functions. (optimization_options): Enable flag_omit_frame_pointer and disable flag_pcc_struct_return on 64bit. (ix86_libcall_value, ix86_function_value, ix86_function_arg_regno_p, ix86_function_arg_boundary, ix86_return_in_memory, ix86_function_value): New global functions. (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg. (function_arg_advance): Handle x86_64 passing conventions. (function_arg): Likewise. * i386.h (FUNCTION_ARG_BOUNDARY): New macro. (RETURN_IN_MEMORY): Move offline. (FUNCTION_VALUE, LIBCALL_VALUE): Likewise. (FUNCTION_VALUE_REGNO_P): New macro. (FUNCTION_ARG_REGNO_P): Move offline. (struct ix86_args): Add maybe_vaarg. * next.h (FUNCTION_VALUE_REGNO_P): Delete. * unix.h (FUNCTION_VALUE_REGNO_P): Delete. From-SVN: r45726
Jan Hubicka committed -
2001-09-21 Hartmut Penner <hpenner@de.ibm.com> * s390.md: Changed attributes for scheduling. * s390.c: (s390_adjust_cost, s390_adjust_priority) Changed scheduling From-SVN: r45725
Hartmut Penner committed -
* no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments. * java/lang/mprec.c (lo0bits): Fix paren typo. From-SVN: r45724
Richard Henderson committed -
From-SVN: r45723
J"orn Rennecke committed -
From-SVN: r45722
GCC Administrator committed -
* Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, DLLTOOL_FOR_TARGET, WINDRES_FOR_TARGET, AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Don't use double quotes to avoid quotes nesting problems. (NATIVE_CHECK_MODULES): Ditto, just for consistency. (DO_X): Export only variables that are set. From-SVN: r45720
Alexandre Oliva committed -
* posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of blocking IO via pthread_kill(). * java/io/natFileDescriptorPosix.cc (write (jint)): Check for thread interrupted status flag only if ::write returned an error. (write (jbyteArray, jint, jint): Likewise. (read (jint)): Likewise. (read (jbyteArray, jint, jint): Likewise. From-SVN: r45719
Bryce McKinlay committed -
* c-decl.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/arm/pe.c, config/avr/avr.c, config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h, config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c, config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c, config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi, doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c, tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES. * tree.h (struct tree_decl): Change machine_attributes to attributes. * doc/c-tree.texi: Document that all attributes are now attached to decls and types. * c-common.c (add_attribute, attrtab, attrtab_idx, default_valid_lang_attribute, valid_lang_attribute): Remove. (attribute_tables, attributes_initialized, c_common_attribute_table, default_lang_attribute_table): New variables. (handle_packed_attribute, handle_nocommon_attribute, handle_common_attribute, handle_noreturn_attribute, handle_unused_attribute, handle_const_attribute, handle_transparent_union_attribute, handle_constructor_attribute, handle_destructor_attribute, handle_mode_attribute, handle_section_attribute, handle_aligned_attribute, handle_weak_attribute, handle_alias_attribute, handle_no_instrument_function_attribute, handle_no_check_memory_usage_attribute, handle_malloc_attribute, handle_no_limit_stack_attribute, handle_pure_attribute): New functions. (init_attributes, decl_attributes): Rewrite to implement table-driven attributes. * c-common.h (enum attribute_flags): Move to tree.h. * c-format.c (decl_handle_format_attribute, decl_handle_format_arg_attribute): Rename to handle_format_attribute and handle_format_arg_attribute. Update for table-driven attributes. * c-common.h (decl_handle_format_attribute, decl_handle_format_arg_attribute): Remove prototypes. (handle_format_attribute, handle_format_arg_attribute): Add prototypes. * c-decl.c (grokdeclarator): Handle attributes nested inside declarators. * c-parse.in (setattrs, maybe_setattrs): Remove. (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs. Update to handle nested attributes properly. (maybe_resetattrs, after_type_declarator, parm_declarator_nostarttypename, notype_declarator, absdcl1_noea, absdcl1_ea, direct_absdcl1): Update to handle nested attributes properly. (make_pointer_declarator): Update to handle nested attributes properly. * doc/extend.texi: Update documentation of limits of attributes syntax. Warn about problems with attribute semantics in C++. * target.h (struct target): Remove valid_decl_attribute and valid_type_attribute. Add attribute_table and function_attribute_inlinable_p. * target-def.h (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Remove. (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Add. (TARGET_INITIALIZER): Update. * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default definition. (function_attribute_inlinable_p): New function. Check for the presence of any machine attributes before using targetm.function_attribute_inlinable_p. (function_cannot_inline_p): Update. * Makefile.in (integrate.o): Update dependencies. * doc/tm.texi: Update documentation of target attributes and example definition of TARGET_VALID_TYPE_ATTRIBUTE. * tree.c (default_valid_attribute_p, valid_machine_attribute): Remove. (default_target_attribute_table, default_function_attribute_inlinable_p): New. (lookup_attribute): Update comment to clarify handling of multiple attributes with the same name. (merge_attributes, attribute_list_contained): Allow multiple attributes with the same name but different arguments to appear in the same attribute list. * tree.h (default_valid_attribute_p): Remove prototype. (struct attribute_spec): New. (default_target_attribute_table): Declare. (enum attribute_flags): Move from c-common.h. Add ATTR_FLAG_TYPE_IN_PLACE. (default_function_attribute_inlinable_p): Declare. * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (vms_attribute_table): New. * config/arc/arc.c (arc_valid_decl_attribute): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (arc_attribute_table, arc_handle_interrupt_attribute): New. * config/arm/arm.c (arm_valid_type_attribute_p, arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p): Remove. (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (arm_attribute_table, arm_handle_fndecl_attribute, arm_handle_isr_attribute): New. * config/avr/avr.c (avr_valid_type_attribute, avr_valid_decl_attribute): Remove. (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (avr_attribute_table, avr_handle_progmem_attribute, avr_handle_fndecl_attribute): New. * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove. (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (c4x_attribute_table, c4x_handle_fntype_attribute): New. * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (h8300_attribute_table, h8300_handle_fndecl_attribute, h8300_handle_eightbit_data_attribute, h8300_handle_tiny_data_attribute): New. * config/i386/i386-protos.h (ix86_valid_type_attribute_p, i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p): Remove prototypes. (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New declarations. * config/i386/i386.c (ix86_valid_type_attribute_p: Remove. (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (ix86_attribute_table, ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute): New. * config/i386/winnt.c (i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p): Remove. (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New. * config/ia64/ia64.c (ia64_valid_type_attribute): Remove. (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (ia64_attribute_table): New. * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1, interrupt_ident2, model_ident1, model_ident2): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (init_idents): Update. (m32r_attribute_table, m32r_handle_model_attribute): New. * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p): Remove. (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New. * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (mcore_attribute_table, mcore_handle_naked_attribute): New. * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove. (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (ns32k_attribute_table, ns32k_handle_fntype_attribute): New. * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove. (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (rs6000_attribute_table, rs6000_handle_longcall_attribute): New. * config/sh/sh.c (sh_valid_decl_attribute): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (sh_attribute_table, sh_handle_interrupt_handler_attribute, sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): New. * config/stormy16/stormy16.c (stormy16_valid_type_attribute): Remove. (TARGET_VALID_TYPE_ATTRIBUTE): Don't define (TARGET_ATTRIBUTE_TABLE): Define. (stormy16_attribute_table, stormy16_handle_interrupt_attribute): New. * config/v850/v850.c (v850_valid_decl_attribute): Remove. (TARGET_VALID_DECL_ATTRIBUTE): Don't define. (TARGET_ATTRIBUTE_TABLE): Define. (v850_attribute_table, v850_handle_interrupt_attribute, v850_handle_data_area_attribute): New. * config/v850/v850-c.c (mark_current_function_as_interrupt): Return void. Call decl_attributes instead of valid_machine_attribute. cp: Table-driven attributes. * decl.c: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES. * decl2.c (cplus_decl_attributes): Only take one attributes parameter. * cp-tree.c (cplus_decl_attributes): Update prototype. * class.c (finish_struct), decl.c (start_decl, start_function), decl2.c (grokfield), friend.c (do_friend), parse.y (parse_bitfield): Update calls to cplus_decl_attributes. * decl.c (grokdeclarator): Take a pointer to a single ordinary attribute list. * decl.h (grokdeclarator): Update prototype. * decl2.c (grokfield): Take a single ordinary attribute list. * friend.c (do_friend): Likewise. * decl.c (shadow_tag, groktypename, start_decl, start_handler_parms, grokdeclarator, grokparms, start_function, start_method), decl2.c (grokfield, grokbitfield, grokoptypename), parse.y (parse_field, parse_bitfield, component_decl_1), pt.c (process_template_parm, do_decl_instantiation): Pass single ordinary attribute lists around. * decl.c (grokdeclarator): Correct handling of nested attributes. Revert the patch 1998-10-18 Jason Merrill <jason@yorick.cygnus.com> * decl.c (grokdeclarator): Embedded attrs bind to the right, not the left. . * cp-tree.h (cp_valid_lang_attribute): Remove declaration (cp_attribute_table): Declare. * decl.c (valid_lang_attribute): Don't define. (lang_attribute_table): Define. (init_decl_processing): Initialize lang_attribute_table instead of valid_lang_attribute. * tree.c (cp_valid_lang_attribute): Remove. (handle_java_interface_attribute, handle_com_interface_attribute, handle_init_priority_attribute): New functions. (cp_attribute_table): New array. * decl2.c (import_export_class): Don't use targetm.valid_type_attribute. testsuite: Table-driven attributes. * g++.dg/ext/attrib1.C: New test. From-SVN: r45718
Joseph Myers committed -
* sh-protos.h (sh_pr_n_sets): Declare. * sh.c (calc_live_regs): If the initial value for PR has been copied, look at the copy to determine if PR needs to be saved. sh_pr_n_sets: New function. * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val. (ALLOCATE_INITIAL_VALUE): Define. * sh.c (initial_elimination_offset): Fix RETURN_ADDRESS_POINTER_REGNUM case. From-SVN: r45717
J"orn Rennecke committed -
* integrate.c (allocate_initial_values): New function. * integrate.h (allocate_initial_values): Declare. * local-alloc.c (local_alloc): Move call to allocate_reg_info from here... * reload1.c (reload): And initialization of reg_equiv_memory_loc from here... * toplev.c (rest_of_compilation): To here. Call allocate_initial_values. * tm.texi: add description for ALLOCATE_INITIAL_VALUE. From-SVN: r45716
J"orn Rennecke committed
-