aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-03-01Makefile.in (rtlanal.o): Depend on tree.h.Richard Sandiford10-93/+175
gcc/ * Makefile.in (rtlanal.o): Depend on tree.h. * rtl.h (offset_within_section_p, split_const): Declare. * rtlanal.c: Include tree.h. (offset_within_block_p): New function, taken from mips_offset_within_object_p. (split_const): New function, taken from mips_split_const. * config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p): Declare. * config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define. (CONSTANT_ADDRESS_P): Only accept legitimate constants. (LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p. * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define. (m68k_illegitimate_symbolic_constant_p): New function. * config/m68k/m68k.md (movsi): Remove misleading predicates. If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a symbolic constant that might be outside the symbol's section, move the symbol first and then add the offset. * config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Override. * config/mips/mips.c (mips_split_const): Delete. (mips_offset_within_object_p): Delete. (mips_symbolic_constant_p): Use offset_within_section_p and split_const instead of mips_offset_within_object_p and mips_split_const. (mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address) (mips_legitimize_const_move, print_operand_reloc) (mips_dangerous_for_la25_p): Use split_const instead of mips_split_const. From-SVN: r122428
2007-03-01re PR fortran/30865 ([4.1, 4.2 only] optional argument passed on to ↵Tobias Burnus2-4/+12
size(...,dim=)) 2007-03-01 Tobias Burnus <burnus@net-b.de> PR fortran/30865 * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers. From-SVN: r122423
2007-03-01Daily bump.GCC Administrator1-1/+1
From-SVN: r122419
2007-02-28revert: Makefile.def (dependencies): Add dependency for ↵Eric Christopher2-26/+28
install-target-libssp and install-target-libgomp on install-gcc. 2007-02-28 Eric Christopher <echristo@apple.com> Revert: 2006-12-07 Mike Stump <mrs@apple.com> * Makefile.def (dependencies): Add dependency for install-target-libssp and install-target-libgomp on install-gcc. * Makefile.in: Regenerate. 2007-02-28 Eric Christopher <echristo@apple.com> * Makefile.in (install-include-dir): Don't rm -rf include. From-SVN: r122415
2007-02-28re PR middle-end/30364 (Wrong variable ranges due to constant folding)Richard Guenther6-4/+96
2007-02-28 Richard Guenther <rguenther@suse.de> PR middle-end/30364 * fold-const.c (fold_binary): Do not associate expressions with more than one variable for integer types that do not wrap. * gcc.dg/torture/pr30364-1.c: New testcase. * gcc.dg/torture/pr30364-2.c: Likewise. * gcc.dg/torture/pr30364-3.c: Likewise. From-SVN: r122414
2007-02-28builtin-frexp-1.c: On mips*-*-irix6* and powerpc*, use ↵Kaveh R. Ghazi4-0/+16
-funsafe-math-optimizations. * gcc.dg/torture/builtin-frexp-1.c: On mips*-*-irix6* and powerpc*, use -funsafe-math-optimizations. * gcc.dg/torture/builtin-logb-1.c: Likewise. * gcc.dg/torture/builtin-modf-1.c: Likewise. From-SVN: r122413
2007-02-28builtins.c (fold_builtin_call_list, [...]): Delete, and replace with...Sandra Loosemore18-338/+398
2007-02-28 Sandra Loosemore <sandra@codesourcery.com> * gcc/builtins.c (fold_builtin_call_list, fold_builtin_call_valist): Delete, and replace with... (fold_builtin_call_array): This. Update callers to use it. * gcc/fold-const.c (fold_build_call_list): Delete, and replace with... (fold_build_call_array): This. (fold_build_call_list_initializer): Delete, and replace with... (fold_build_call_array_initializer): This. * gcc/tree.h: Update declarations to reflect above changes. * gcc/c-typeck.c (build_function_call): Store converted arguments in a stack-allocated array instead of building a list. (convert_arguments): Store arguments in the array passed in as an argument, and return the actual number of arguments. * gcc/c-format.c: (check_function_format): Pass arguments in an array instead of a list. * gcc/c-common.c (check_function_nonnull): Likewise. (check_function_sentinel): Likewise. (check_function_arguments): Likewise. * gcc/c-common.h: Update declarations to reflect above changes. * gcc/cp/typeck.c (build_function_call): Store converted arguments in a stack-allocated array instead of building a list. (convert_arguments): Store arguments in the array passed in as an argument, and return the actual number of arguments. * gcc/cp/call.c (build_call): Delete, and replace with... (build_call_n, build_call_a): New. (build_op_delete_call): Rewrite to avoid constructing argument lists. (build_over_call): Store converted arguments in a stack-allocated array instead of building a list. (build_cxx_call): Pass arguments in an array instead of as a list. (build_java_interface_fn_ref): Rewrite to avoid constructing argument lists. * gcc/cp/tree.h: Update declarations to reflect above changes. * gcc/cp/method.c (use_thunk): Use a stack-allocated array to hold the arguments instead of a list. * gcc/cp/rtti.c (throw_bad_cast): Update call to cxx_call. (throw_bad_typeid): Likewise. (build_dynamic_cast_1): Likewise. * gcc/cp/init.c (build_builtin_delete_call): Use build_call_n. * gcc/cp/decl.c (expand_static_init): Likewise. * gcc/cp/except.c (cp_protect_cleanup_actions): Likewise. * gcc/cp/cp-gimplify.c (genericize_eh_spec_block): Likewise. (gimplify_must_not_throw_expr): Likewise. (cxx_omp_apply_fn): Use build_call_a. From-SVN: r122411
2007-02-28predict.def (PRED_TREE_EARLY_RETURN, [...]): Update outcomes.Jan Hubicka2-3/+8
* predict.def (PRED_TREE_EARLY_RETURN, PRED_CONST_RETURN, PRED_NEGATIVE_RETURN): Update outcomes. From-SVN: r122410
2007-02-28re PR fortran/30888 (%VAL construct fails with argument procedures)Tobias Burnus7-41/+101
2007-02-28 Tobias Burnus <burnus@net-b.de> Paul Thomas <pault@gcc.gnu.org> PR fortran/30888 PR fortran/30887 * resolve.c (resolve_actual_arglist): Allow by-value arguments and non-default-kind for %VAL(). * trans-expr.c (conv_arglist_function): Allow non-default-kind for %VAL(). testsuite/ 2007-02-28 Tobias Burnus <burnus@net-b.de> Paul Thomas <pault@gcc.gnu.org> PR fortran/30888 PR fortran/30887 * c_by_val_1.f: Test %VAL() with non-default kind. * c_by_val.c: Ditto. * c_by_val_4.f: New test. Co-Authored-By: Paul Thomas <pault@gcc.gnu.org> From-SVN: r122409
2007-02-28Make-lang.in (doc/gnat_ugn_unw.texi): Depend on ↵Andreas Schwab2-4/+11
$(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi. * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi. (doc/gnat-style.info): Likewise. From-SVN: r122402
2007-02-28re PR fortran/30968 ([4.1 only] Bogus warning with continued lines of ↵Tobias Burnus4-2/+42
concatenated strings) 2007-02-28 Tobias Burnus <burnus@net-b.de> PR fortran/30968 * primary.c (next_string_char): Correct reading a character after the delimiter. (match_string_constant): Print warning message only once. 2007-02-28 Tobias Burnus <burnus@net-b.de> PR fortran/30968 * gfortran.dg/continuation_7.f90: New test. From-SVN: r122401
2007-02-28target-supports.exp (check_profiling_available): Not available for bfin-*-*.Bernd Schmidt2-0/+3
* lib/target-supports.exp (check_profiling_available): Not available for bfin-*-*. From-SVN: r122400
2007-02-28thunk7.C: New test.Bernd Schmidt2-0/+59
* g++.dg/inherit/thunk7.C: New test. From-SVN: r122399
2007-02-28Fixup whitespacing.Mike Stump1-8/+9
From-SVN: r122398
2007-02-28calls.c (emit_library_call_value_1): Handle partial registers correctly when ↵Bernd Schmidt2-1/+17
building up CALL_INSN_FUNCTION_USAGE. * calls.c (emit_library_call_value_1): Handle partial registers correctly when building up CALL_INSN_FUNCTION_USAGE. From-SVN: r122396
2007-02-28Daily bump.GCC Administrator1-1/+1
From-SVN: r122392
2007-02-28predicates.md (move_src_operand): Allow zero for mode.John David Anglin3-2/+11
* pa/predicates.md (move_src_operand): Allow zero for mode. * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode move pattern. From-SVN: r122388
2007-02-27re PR target/30970 (Register zeroing by xor N,N should be moved out of loop)Uros Bizjak5-7/+44
PR target/30970 * config/i386/sse.md (*mov<mode>_internal, *movv4sf_internal, *movv2df_internal): Enable pattern only for valid operand combinations. * config/i386/i386.c (ix86_modes_tieable_p): For SSE registers, tie only 128bit modes. For MMX registers, tie only 64bit modes. testsuite/ChangeLog: PR target/30970 * gcc.target/i386/gfortran.dg/pr30970.c: New test. From-SVN: r122387
2007-02-27darwin-crt3.c: Avoid compilation when compiling for a kext multilib.Mike Stump2-0/+10
* config/darwin-crt3.c: Avoid compilation when compiling for a kext multilib. From-SVN: r122385
2007-02-27mkheaders.in (incdir): Use include-fixed not include.Joseph Myers4-50/+65
fixincludes: * mkheaders.in (incdir): Use include-fixed not include. gcc: * Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define FIXED_INCLUDE_DIR. (stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed for fixed headers and limits.h. (install-include-dir, install-headers-tar, install-headers-cpio, install-headers-cp, real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Handle include-fixed as well as include. (install-mkheaders): Don't install files that go only in include not include-fixed. * cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR from GCC_INCLUDE_DIR. * gcc.c (process_command): Remove special -BstageN/ handling. (do_spec_1): Add include-fixed directories. From-SVN: r122384
2007-02-27t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and _smulsi3_highpart.Bernd Schmidt4-1/+98
* config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and _smulsi3_highpart. * config/bfin/lib1funcs.asm (___umulsi3_highpart, ___smulsi3_highpart): New functions. * config/bfin/bfin.md (smulsi3_highpart, umulsi3_highpart): New patterns. From-SVN: r122379
2007-02-27c-common.c (get_priority): Add check for SUPPORTS_INIT_PRIORITY.Mark Mitchell4-8/+21
* c-common.c (get_priority): Add check for SUPPORTS_INIT_PRIORITY. * lib/target-supports.exp (check_effective_target_init_priority): Remove Solaris special case. From-SVN: r122378
2007-02-27bfin.md (rotl16, [...]): New patterns.Bernd Schmidt2-0/+33
* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns. From-SVN: r122377
2007-02-27bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg instead of R2.Bernd Schmidt2-1/+4
* config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg instead of R2. From-SVN: r122376
2007-02-27trans-array.c (structure_alloc_comps): Use correct type for null pointer ↵Richard Guenther2-1/+6
constant. 2007-02-27 Richard Guenther <rguenther@suse.de> * trans-array.c (structure_alloc_comps): Use correct type for null pointer constant. From-SVN: r122375
2007-02-27bfin.md (ssashiftv2hi3, [...]): Fix output template to use half reg for ↵Bernd Schmidt2-4/+7
operand 2. * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Fix output template to use half reg for operand 2. From-SVN: r122374
2007-02-27bfin.h (enum reg_class, [...]): Add D0REGS through D7REGS.Bernd Schmidt3-19/+543
* config/bfin/bfin.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add D0REGS through D7REGS. (CONSTRAINT_LEN): Add entry for 'q'. (REG_CLASS_FROM_CONSTRAINT): Renamed from REG_CLASS_FROM_LETTER. Add 'q' constraints. (REGNO_REG_CLASS): For R0 through R7, return corresponding regclass. (CLASS_LIKELY_SPILLED_P): True for R0, R1 and R2. * config/bfin/bfin.md (add_with_carry): New pattern. (s_or_u, su_optab, su_modifier): New code macros/attrs. (<su_optab>hisi_ll, <su_optab>hisi_lh, <su_optab>hisi_hl, <su_optab>hisi_hh): Renamed from mulhisi_xx patterns; macroized to support unsigned multiplies too. Removed incorrect commutativity from operand 1 constraint where appropriate. (usmulhisi_ull, usmulhisi_ulh, usmulhisi_uhl, usmulhisi_uhh): New patterns. (<su_optab>hisi_ll_lh, <su_optab>hisi_ll_hl, <su_optab>hisi_ll_hh, <su_optab>hisi_lh_hl, <su_optab>hisi_lh_hh, <su_optab>hisi_hl_hh): New patterns. (usmulhisi_ll_lul, usmulhisi_ll_luh, usmulhisi_ll_hul, usmulhisi_ll_huh, usmulhisi_lh_lul, usmulhisi_lh_luh, usmulhisi_lh_hul, usmulhisi_lh_huh, usmulhisi_hl_lul, usmulhisi_hl_luh, usmulhisi_hl_hul, usmulhisi_hl_huh, usmulhisi_hh_lul, usmulhisi_hh_luh, usmulhisi_hh_hul, usmulhisi_hh_huh): New patterns. From-SVN: r122373
2007-02-27bfin.c: Include "cfglayout.h".Bernd Schmidt2-86/+340
* config/bfin/bfin.c: Include "cfglayout.h". (MAX_LSETUP_DISTANCE): New macro. (struct loop_info): New members incoming, incoming_src and incoming_dest. Delete member predecessor. (length_for_loop): New function. (bfin_optimize_loop): Handle more different loop structures. (bfin_discover_loop): Rework detection of predecessor blocks by examining incoming edges. (bfin_discover_loops, bfin_free_loops): New functions, broken out of bfin_reorg_loops. (bfin_reorder_loops): New function. (bfin_reorg_loops): Use these three new functions. From-SVN: r122372
2007-02-27bfin.md (doloop_end): FAIL if counter reg isn't SImode.Bernd Schmidt2-1/+7
* config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode. From-SVN: r122371
2007-02-27* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.Andreas Schwab2-1/+5
From-SVN: r122368
2007-02-27predict.c (last_basic_block_p): Remove.Jan Hubicka2-25/+37
* predict.c (last_basic_block_p): Remove. (tree_estimate_probability): Update return heuristic for commonized return blocks. From-SVN: r122367
2007-02-27* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.Brooks Moses2-1/+6
From-SVN: r122366
2007-02-27gcj.texi: Standardize title page.Brooks Moses2-2/+5
* gcj.texi: Standardize title page. From-SVN: r122360
2007-02-26gcc/ChangeLog ---------------------------------------------------------Brooks Moses15-52/+75
gcc/ChangeLog --------------------------------------------------------- * doc/include/gcc-common.texi (versionsubtitle): New macro. * doc/cpp.texi: Standardize title page. * doc/cppinternals.texi: Likewise. * doc/gcc.texi: Standardize title page, remove version number from copyright page. * doc/gccint.texi: Likewise. * doc/install.texi: Standardize title page, add table of contents. ada/ChangeLog --------------------------------------------------------- * gnat-style.texi: Standardize title page. * gnat_rm.texi: Likewise. * gnat_ugn.texi: Likewise. fortran/ChangeLog ----------------------------------------------------- * gfortran.texi: Standardize title page, remove version number from copyright page. treelang/ChangeLog ---------------------------------------------------- * treelang.texi: Standardize title page, remove version number from copyright page. From-SVN: r122358
2007-02-27stabs-attrib-vect-darwin.c: Allow for more builtin types.Geoffrey Keating2-1/+4
* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Allow for more builtin types. From-SVN: r122355
2007-02-27Daily bump.GCC Administrator1-1/+1
From-SVN: r122352
2007-02-27class1.C: Port to Darwin.Geoffrey Keating3-3/+8
* g++.dg/ext/visibility/class1.C: Port to Darwin. * g++.dg/ext/visibility/noPLT.C: Likewise. From-SVN: r122348
2007-02-27predict.def: Set outcomes according to more recent results.Jan Hubicka3-23/+19
* predict.def: Set outcomes according to more recent results. (PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER): Remove dead predictors. * predict.c (return_prediction): Fix pasto. From-SVN: r122347
2007-02-26loop-iv.c (simplify_using_initial_values): Fix oversight in previous change; ↵Bernd Schmidt2-1/+9
avoid a memory leak when returning early. * loop-iv.c (simplify_using_initial_values): Fix oversight in previous change; avoid a memory leak when returning early. From-SVN: r122346
2007-02-26builtin-modf-1.c: Use -fno-finite-math-only on sh* targets.Kaveh R. Ghazi2-0/+6
* gcc.dg/torture/builtin-modf-1.c: Use -fno-finite-math-only on sh* targets. From-SVN: r122345
2007-02-26re PR fortran/30865 ([4.1, 4.2 only] optional argument passed on to ↵Thomas Koenig4-8/+67
size(...,dim=)) 2007-02-26 Thomas Koenig <Thomas.Koenig@online.de> Paul Thomas <pault@gcc.gnu.org> PR fortran/30865 * trans-intrinsic.c (gfc_conv_intrinsic_size): If dim is an optional argument, check for its presence and call size0 or size1, respectively. 2007-02-26 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/30865 * size_optional_dim_1.f90: New test. Co-Authored-By: Paul Thomas <pault@gcc.gnu.org> From-SVN: r122342
2007-02-26c-decl.c (static_ctors): Move to c-common.c.Mark Mitchell7-36/+99
* c-decl.c (static_ctors): Move to c-common.c. (static_dtors): Likewise. (finish_function): Use c_record_cdtor_fn. (build_cdtor): Move to c-common.c. (c_write_global_declarations): Use c_build_cdtor_fns. * c-common.h (static_ctors): Declare. (static_dtors): Likewise. (c_record_cdtor_fn): Likewise. (c_build_cdtor_fns): Likewise. * c-common.c (static_ctors): New variable. (static_dtors): Likewise. (c_record_cdtor_fn): New function. (build_cdtor): Move from c-decl.c (c_build_cdtor_fns): New function. * semantics.c (expand_or_defer_fn): Call c_record_cdtor_fn. * decl2.c (cp_write_gloabl_declarations): Call c_build_cdtor_fns. From-SVN: r122341
2007-02-26output.h (assemble_addr_to_section): Declare.Mark Mitchell14-41/+258
* output.h (assemble_addr_to_section): Declare. (get_cdtor_priority_section): Likewise. * varasm.c (assemble_addr_to_section): New function. (get_cdtor_priority_section): Likewise. (default_named_section_asm_out_destructor): Use them. (destor_dtor_section_asm_out_destructor): Likewise. (default_named_section_asm_out_constructor): Likewise. (default_ctor_section_asm_out_constructor): Likewise. * config.gcc (*-*-vxworks*): Include vxworks.o. * config/t-vxworks (vxworks.o): New target. * config/vxworks.h (ALWAYS_NUMBER_CTORS_SECTIONS): Remove. (TARGET_ASM_CONSTRUCTOR): Define. (TARGET_ASM_DESTRUCTOR): Likewise. (vxworks_asm_out_constructor): Declare. (vxworks_asm_out_destructor): Likewise. * c-common.c (get_priority): Check that we have not just an INTEGER_CST, but an integer constant with integeral type. * gcc.dg/vxworks/vxworks.exp: New file. * gcc.dg/vxworks/initpri1.c: Likewise. * gcc.dg/vxworks/initpri2.c: Likewise. * gcc.dg/initpri2.c: Add more tests. * g++.dg/special/initpri2.C: Likewise. From-SVN: r122335
2007-02-26Fix formatting nits.Eric Botcazou1-176/+161
From-SVN: r122332
2007-02-26Daily bump.GCC Administrator1-1/+1
From-SVN: r122326
2007-02-26re PR tree-optimization/30938 (Bootstrap fails on x86_64 for -ftree-vectorize)Uros Bizjak2-1/+8
PR tree-optimization/30938 * tree-vect-transform.c (vectorizable_call): Fix off-by-one error: use &dt[nargs-1] instead of &dt[nargs] in the call to vect_is_simple_use(). From-SVN: r122323
2007-02-25reload.c (find_reloads_address_1): Handle PLUS expressions resulting from ↵Ulrich Weigand3-47/+63
register elimination as PRE_MODIFY /... * reload.c (find_reloads_address_1): Handle PLUS expressions resulting from register elimination as PRE_MODIFY / POST_MODIFY increments. Do not attempt to handle MEM inside auto-inc expressions. * reload1.c (eliminate_regs_1): Do not attempt to handle elimination of a register modified by an auto-inc expression. However, do handle elimination of a register used as PRE_MODIFY / POST_MODIFY increment. (elimination_effects): Prohibit elimination of a register modified by an auto-inc expression. Disable register elimination rules whose target register is modified by an auto-inc expression with variable increment. From-SVN: r122318
2007-02-25decl.c (annotate_value): Adjust for refactoring of tree_map hierarchy.Mark Mitchell2-1/+6
* decl.c (annotate_value): Adjust for refactoring of tree_map hierarchy. From-SVN: r122317
2007-02-25tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix off-by-one error.Zdenek Dvorak7-65/+231
* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix off-by-one error. (array_at_struct_end_p): New function. (idx_infer_loop_bounds): Use it. (estimate_numbers_of_iterations_loop): Export. * predict.c (predict_loops): Use estimated_loop_iterations_int. Do not use PRED_LOOP_EXIT on exits predicted by # of iterations. (tree_estimate_probability): Call record_loop_exits. * tree-data-ref.c (get_number_of_iters_for_loop): Replaced by ... (estimated_loop_iterations, estimated_loop_iterations_int, estimated_loop_iterations_tree): New functions. (analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine): Use estimated_loop_iterations_int. (analyze_miv_subscript): Use estimated_loop_iterations_tree. * predict.def (PRED_LOOP_ITERATIONS): Update comment. (PRED_LOOP_ITERATIONS_GUESSED): New. * cfgloop.c (record_loop_exits): Do nothing if there are no loops. * cfgloop.h (estimate_numbers_of_iterations_loop, estimated_loop_iterations_int): Declare. From-SVN: r122316
2007-02-25extend.texi: Document optional priority argument to constructors and ↵Mark Mitchell31-199/+553
destructors. * doc/extend.texi: Document optional priority argument to constructors and destructors. * tree.c (init_priority_for_decl): Adjust GTY markers. (init_ttree): Use priority-info hash functions for init_priority_for_decl. (tree_map_eq): Rename to ... (tree_map_base_eq): ... this. (tree_map_marked_p): Rename to ... (tree_map_base_marked_p): ... this. (tree_map_base_hash): New function. (decl_init_priority_lookup): Rework. (decl_fini_priority_lookup): New function. (decl_priority_info): New function. (decl_init_priority_insert): Use it. (decl_fini_priority_insert): Likewise. (decl_restrict_base_lookup): Adjust for refactoring of tree_map hierarchy. (decl_restrict_base_insert): Likewise. (decl_debug_expr_insert): Likewise. (decl_value_expr_lookup): Likewise. (decl_value_expr_insert): Likewise. * tree.h (priority_type): New type. (decl_init_priority_lookup): Use priority_type. (decl_fini_priority_lookup): New function. (decl_init_priority_insert): Use priority_type. (decl_fini_priority_insert): New function. (DECL_HAS_INIT_PRIORITY): Tweak comments. (DECL_INIT_PRIORITY): Likewise. (SET_DECL_INIT_PRIORITY): Add comment. (DECL_FINI_PRIORITY): New macro. (SET_DECL_FINI_PRIORITY): Likewise. (DEFAULT_INIT_PRIORITY): Document. (MAX_INIT_PRIORITY): Likewise. (MAX_RESERVED_INIT_PRIORITY): Likewise. (tree_map_base): New type. (tree_map_base_eq): New function. (tree_map_base_hash): Likewise. (tree_map_base_marked_p): Likewise. (tree_map): Inherit from tree_map_base. (tree_map_eq): Make it a macro. (tree_map_marked_p): Likewise. (tree_int_map): Inherit from tree_map_base. (tree_int_map_eq): Make it a macro. (tree_int_map_hash): Likewise. (tree_int_map_marked_p): Likewise. (tree_priority_map): New type. (tree_priority_map_eq): New macro. (tree_priority_map_hash): Likewise. (tree_priority_map_marked_p): Likewise. * varasm.c (emults_decl): Adjust for refactoring of tree_map hierarchy. (emutls_common_1): Likewise. * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise. * tree-ssa-structalias.c (heapvar_lookup): Adjust for refactoring of tree_map hierarchy. * tree-cfg.c (move_stmt_r): Likewise. (new_label_mapper): Likewise. * c-tree.h (c_expand_body): Move to ... * c-common.h (c_expand_body): ... here. * c-decl.c (c_expand_body): Move to ... * c-common.c (c_expand_body): ... here. (c_common_attribute_table): Allow 1 argument for the constructor and destructor attributes. (get_priority): New function. (handle_constructor_attribute): Set DECL_INIT_PRIORITY. (handle_destructor_attribute): Set DECL_FINI_PRIORITY. * cp-tree.h (static_ctors): Remove. * cp-tree.h (static_dtors): Likewise. * cp-objcp-common.c (decl_shadowed_for_var_lookup): Adjust for refactoring of tree_map hierarchy. (decl_shadowed_for_var_insert): Likewise. * semantics.c (expand_body): Use c_expand_body. (expand_or_defer_fn): Don't update static_ctors or static_dtors. * decl2.c (static_ctors): Remove. (static_dtors): Likewise. (generate_ctor_or_dtor_function): Pass NULL_TREE to objc_generate_static_init_call. Do not call static_[cd]tors. (generate_ctor_and_dtor_functions_for_priority): Do not check for static_[cd]tors. (cp_write_global_declarations): Likewise. * decl.c (annotate_value): Adjust for refactoring of tree_map hierarchy. * gcc.dg/initpri1.c: New test. * gcc.dg/initpri2.c: Likewise. * g++.dg/special/initpri1.C: New test. * g++.dg/special/initpri2.C: Likewise. * g++.dg/special/conpr-1.C: Use init_priority effective target. * g++.dg/special/conpr-2.C: Likewise. * g++.dg/special/conpr-3.C: Likewise. * g++.dg/special/conpr-4.C: Likewise. * g++.dg/special/initp1.C: Likewise. * g++.dg/special/ecos.exp: Remove code to detect availability of constructor priorities. * lib/target-support.exp (target_init_priority): New function. From-SVN: r122315