Commit Graph

79528 Commits

Author SHA1 Message Date
Bernd Schmidt
d5b7e9722d target-supports.exp (check_profiling_available): Not available for bfin-*-*.
* lib/target-supports.exp (check_profiling_available): Not available
	for bfin-*-*.

From-SVN: r122400
2007-02-28 02:03:41 +00:00
Bernd Schmidt
00e5523881 thunk7.C: New test.
* g++.dg/inherit/thunk7.C: New test.

From-SVN: r122399
2007-02-28 01:34:10 +00:00
Mike Stump
dcb0a37396 Fixup whitespacing.
From-SVN: r122398
2007-02-28 01:13:22 +00:00
Matt Kraai
54e433bc4f configure: Regenerate.
* configure: Regenerate.
	* configure.ac: Move statements after variable declarations.

From-SVN: r122397
2007-02-28 00:56:22 +00:00
Bernd Schmidt
3b1bf459a3 calls.c (emit_library_call_value_1): Handle partial registers correctly when 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-28 00:37:09 +00:00
GCC Administrator
9edd7f971b Daily bump.
From-SVN: r122392
2007-02-28 00:17:34 +00:00
John David Anglin
e214de0a0a predicates.md (move_src_operand): Allow zero for mode.
* 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-28 00:11:14 +00:00
Uros Bizjak
8ab9333261 re PR target/30970 (Register zeroing by xor N,N should be moved out of loop)
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-27 22:27:27 +01:00
Mike Stump
3b41414683 darwin-crt3.c: Avoid compilation when compiling for a kext multilib.
* config/darwin-crt3.c: Avoid compilation when compiling for a
	kext multilib.

From-SVN: r122385
2007-02-27 20:47:55 +00:00
Joseph Myers
f686ec0522 mkheaders.in (incdir): Use include-fixed not include.
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-27 20:32:13 +00:00
Paolo Carlini
f4e39278b3 PR libstdc++/28080 (partial)
2007-02-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/std/bitset: Do not include <ios>, <iosfwd> is enough.
	(operator>>(std::basic_istream<>&, bitset<>&)): Tweak, refer to
	ios_base as a base of basic_istream.
	* include/std/iomanip: Do not include <ios>, <iosfwd> + 
	<bits/ios_base.h> is enough.
	* include/std/iosfwd: Do not include <cctype> here...
	* include/bits/locale_facets.h: ... do it here, when needed.
	* include/bits/ostream.tcc: Clean up, do not include <locale> here...
	* include/std/ostream: ... here instead.
	* include/bits/istream.tcc: Likewise for <locale> and <ostream>...
	* include/std/istream: ... here.
	* include/bits/sstream.tcc: Do not include <sstream>.

From-SVN: r122380
2007-02-27 17:48:09 +00:00
Bernd Schmidt
01e7cd6e29 t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and _smulsi3_highpart.
* 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-27 16:29:10 +00:00
Mark Mitchell
f6fc5c864b c-common.c (get_priority): Add check for SUPPORTS_INIT_PRIORITY.
* 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-27 15:49:23 +00:00
Bernd Schmidt
9713091585 bfin.md (rotl16, [...]): New patterns.
* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns.

From-SVN: r122377
2007-02-27 15:26:19 +00:00
Bernd Schmidt
6ce986b971 bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg instead of R2.
* config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg
	instead of R2.

From-SVN: r122376
2007-02-27 15:20:47 +00:00
Richard Guenther
d711ed8730 trans-array.c (structure_alloc_comps): Use correct type for null pointer 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-27 14:26:13 +00:00
Bernd Schmidt
329437dd43 bfin.md (ssashiftv2hi3, [...]): Fix output template to use half reg for 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-27 13:55:56 +00:00
Bernd Schmidt
2889abeda3 bfin.h (enum reg_class, [...]): Add D0REGS through D7REGS.
* 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-27 13:44:10 +00:00
Bernd Schmidt
ce27ef3d72 bfin.c: Include "cfglayout.h".
* 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-27 13:25:41 +00:00
Bernd Schmidt
9b02a95e80 bfin.md (doloop_end): FAIL if counter reg isn't SImode.
* config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode.

From-SVN: r122371
2007-02-27 13:13:26 +00:00
Richard Guenther
daa07a06ce acinclude.m4: Adjust regular expression for ld version extraction.
2007-02-27  Richard Guenther  <rguenther@suse.de>

	* acinclude.m4: Adjust regular expression for ld version extraction.
	* configure: Regenerate.

From-SVN: r122370
2007-02-27 12:38:08 +00:00
Andreas Schwab
3b4ed48b65 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
From-SVN: r122368
2007-02-27 10:45:58 +00:00
Jan Hubicka
dcb995f769 predict.c (last_basic_block_p): Remove.
* predict.c (last_basic_block_p): Remove.
	(tree_estimate_probability): Update return heuristic for commonized
	return blocks.

From-SVN: r122367
2007-02-27 10:21:55 +00:00
Brooks Moses
e5fc6da81a * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
From-SVN: r122366
2007-02-27 02:19:59 -08:00
Alan Modra
1ba7cb8018 mt-spu (all-ld): Depend on all-binutils.
* mt-spu (all-ld): Depend on all-binutils.
also fix previous ChangeLog entry

From-SVN: r122362
2007-02-27 19:31:58 +10:30
Brooks Moses
a62f20200d gcj.texi: Standardize title page.
* gcj.texi: Standardize title page.

From-SVN: r122360
2007-02-27 00:07:19 -08:00
Brooks Moses
7771bb621a gcc/ChangeLog ---------------------------------------------------------
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-26 22:00:47 -08:00
Geoffrey Keating
8208b34a27 stabs-attrib-vect-darwin.c: Allow for more builtin types.
* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Allow
	for more builtin types.

From-SVN: r122355
2007-02-27 00:32:23 +00:00
GCC Administrator
894c0f1bf9 Daily bump.
From-SVN: r122352
2007-02-27 00:17:12 +00:00
Geoffrey Keating
f6bc864076 class1.C: Port to Darwin.
* g++.dg/ext/visibility/class1.C: Port to Darwin.
	* g++.dg/ext/visibility/noPLT.C: Likewise.

From-SVN: r122348
2007-02-27 00:10:22 +00:00
Jan Hubicka
75b6bb627c predict.def: Set outcomes according to more recent results.
* 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-27 00:07:03 +00:00
Bernd Schmidt
4898239452 loop-iv.c (simplify_using_initial_values): Fix oversight in previous change; 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-26 23:42:43 +00:00
Kaveh R. Ghazi
31cd73eb52 builtin-modf-1.c: Use -fno-finite-math-only on sh* targets.
* gcc.dg/torture/builtin-modf-1.c: Use -fno-finite-math-only on
	sh* targets.

From-SVN: r122345
2007-02-26 22:19:32 +00:00
DJ Delorie
9bb68d2aca crossconfig.m4 (djgpp): Pre-detect djgpp-specific results, to avoid needing to link during cross compiling.
* crossconfig.m4 (djgpp): Pre-detect djgpp-specific results, to
avoid needing to link during cross compiling.
* configure: Regenerated.

From-SVN: r122344
2007-02-26 16:37:05 -05:00
DJ Delorie
f86b57e49f configure.ac: add djgpp-specific results, so we don't have to link during a cross compilation.
* configure.ac: add djgpp-specific results, so we don't have to
link during a cross compilation.
* configure: Regenerated.

From-SVN: r122343
2007-02-26 16:31:42 -05:00
Thomas Koenig
88f206a40d re PR fortran/30865 ([4.1, 4.2 only] optional argument passed on to 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-26 21:16:00 +00:00
Mark Mitchell
57a4c089e2 c-decl.c (static_ctors): Move to c-common.c.
* 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-26 21:14:24 +00:00
Dominique d'Humieres
7276d36825 * test_installed: Adjust to the move from g77 to gfortran.
From-SVN: r122340
2007-02-26 20:40:13 +00:00
Mark Mitchell
b2f4bed837 output.h (assemble_addr_to_section): Declare.
* 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-26 15:53:51 +00:00
Eric Botcazou
6f7f72f999 Fix formatting nits.
From-SVN: r122332
2007-02-26 14:07:12 +00:00
Jakub Jelinek
07008ce4ee TimeZone.java (getDefaultDisplayName): Don't check if TimeZone is instanceof SimpleTimeZone.
* java/util/TimeZone.java (getDefaultDisplayName): Don't
	check if TimeZone is instanceof SimpleTimeZone.

From-SVN: r122330
2007-02-26 12:01:55 +01:00
Paolo Carlini
681a691966 PR libstdc++/28080 (partial)
2007-02-26  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/std/bitset: Do not include <istream> and <ostream>,
	<ios> is enough.
	* include/std/iomanip: Do not include the whole <istream>,
	<ios> is enough; do not include <functional>; reformat.
	* include/std/functional: Do not include <cstddef>.
	* include/std/list: Do not include <bits/stl_uninitialized.h>.
	* include/std/numeric: Do not include the whole <iterator> and
	<bits/stl_function.h>.
	* include/std/valarray: Do not include <numeric>.
	* include/bits/stl_numeric.h: Include <bits/concept_check.h>.
	* src/iostream-inst.cc: Include <istream>.
	* include/ext/functional: Include <cstddef>.
	* testsuite/util/testsuite_hooks.h: Do not include <locale>,
	<ctime> is enough; qualify tm.
	* testsuite/util/testsuite_hooks.cc: Qualify tm.

2007-02-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class ctype_byname<char>,
	class ctype_byname<wchar_t>): Declare.
	* src/ctype.cc (ctype_byname<wchar_t>::ctype_byname(const char*,
	size_t), ctype_byname<wchar_t>::~ctype_byname): Define.
	* config/locale/generic/ctype_members.cc (ctype_byname<char>::
	ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
	Likewise.
	* config/locale/gnu/ctype_members.cc (ctype_byname<char>::
	ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
	Likewise.
	* config/locale/darwin/ctype_members.cc (ctype_byname<char>::
	ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
	Likewise.
	* testsuite/22_locale/headers/locale/synopsis.cc: Remove xfail.

From-SVN: r122329
2007-02-26 09:36:39 +00:00
GCC Administrator
ef585f86e4 Daily bump.
From-SVN: r122326
2007-02-26 00:17:08 +00:00
Uros Bizjak
c4a4d1a076 re PR tree-optimization/30938 (Bootstrap fails on x86_64 for -ftree-vectorize)
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-26 00:18:45 +01:00
Gerald Pfeifer
7f0248d7e1 * update_version_svn (IGNORE_BRANCHES): Add 4_0-branch.
From-SVN: r122321
2007-02-25 21:14:02 +00:00
Ulrich Weigand
b098aaf2ae reload.c (find_reloads_address_1): Handle PLUS expressions resulting from 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-25 20:56:46 +00:00
Mark Mitchell
ae19c0415c decl.c (annotate_value): Adjust for refactoring of tree_map hierarchy.
* decl.c (annotate_value): Adjust for refactoring of tree_map
	hierarchy.

From-SVN: r122317
2007-02-25 20:08:59 +00:00
Zdenek Dvorak
4839cb59b3 tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix off-by-one error.
* 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-25 19:49:22 +00:00
Mark Mitchell
fc8600f9c1 extend.texi: Document optional priority argument to constructors and 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
2007-02-25 18:47:05 +00:00
Jan Hubicka
2a025b54f6 re PR middle-end/30509 (ice for legal code with -O3)
PR middle-end/30509
	* tree-inline.c (copy_bb): Produce exact copy of EH info when copying for inlining.

From-SVN: r122314
2007-02-25 18:11:20 +00:00