Commit Graph

69437 Commits

Author SHA1 Message Date
Kelley Cook
917b04f492 Update FSF address
From-SVN: r101453
2005-06-30 03:22:09 +00:00
Diego Novillo
674391b8f1 re PR tree-optimization/22234 (verify_ssa failed with -fno-exceptions)
PR 22234
	* tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
	when following copy-of chains.

testsuite/ChangeLog

	PR 22234
	* gcc.dg/20050629-1.c: New test.

From-SVN: r101450
2005-06-29 20:51:17 -04:00
Jan Hubicka
acb8f2123d function.h (struct function): Add saved blocks/unexpanded var list.
* function.h (struct function): Add saved blocks/unexpanded var list.
	* gimple-low.c (record_vars): Insert only VAR_DECLs.
	* tree-inline.c (add_lexical_block): Declare; do not clear sublocks.
	(remap_decl): Do not declare vars.
	(remap_block): Do not care inserting blocks.
	(remap_blocks): New function.
	(copy_body_r): Update debug info.
	(expand_call_inline): Duplicate callee block tree into caller;
	copy all the unexpanded_var_list.
	(save_body): Save unexpanded_var_list and blocks.
	* tree-optimize.c (tree_rest_of_optimization): Restore
	blocks/unexpanded_var_list.

From-SVN: r101449
2005-06-30 00:47:49 +00:00
GCC Administrator
0abb14c013 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101447.2
2005-06-30 00:16:30 +00:00
Richard Henderson
93b4080b3d ia64.c (ia64_expand_vecint_minmax): Use us_minus and plus for V4HImode UMAX.
* config/ia64/ia64.c (ia64_expand_vecint_minmax): Use us_minus and
        plus for V4HImode UMAX.

From-SVN: r101441
2005-06-29 15:22:13 -07:00
Joseph Myers
f2a71bbcb2 c-tree.h (default_function_array_conversion): Take and return struct c_expr.
* c-tree.h (default_function_array_conversion): Take and return
	struct c_expr.
	* c-typeck.c (default_function_array_conversion): Split into
	array_to_pointer_conversion and function_to_pointer_conversion.
	Take and return struct c_expr.
	(array_to_pointer_conversion): Do not handle type qualifiers or
	COMPOUND_EXPRs specially.
	(build_function_call): Call function_to_pointer_conversion for
	function designators.
	(build_unary_op): Call array_to_pointer_conversion, not
	default_function_array_conversion.
	(digest_init, output_init_element): Likewise.
	* c-parser.c: All callers of default_function_array_conversion
	changed.

From-SVN: r101440
2005-06-29 23:13:56 +01:00
Paolo Carlini
a81408c939 PR libstdc++/21244 (cont^2)
2005-06-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21244 (cont^2)
	* include/ext/bitmap_allocator.h: Convert everywhere
	bits_per_block to size_t.

From-SVN: r101438
2005-06-29 22:12:18 +00:00
Ziemowit Laski
c64de75f40 darwin.c (machopic_select_section): constant ObjC string objects now always have type "__builtin_ObjCString".
[gcc/ChangeLog]
2005-06-29  Ziemowit Laski  <zlaski@apple.com>

        * config/darwin.c (machopic_select_section): constant ObjC string
        objects now always have type "__builtin_ObjCString".

[gcc/objc/ChangeLog]
2005-06-29  Ziemowit Laski  <zlaski@apple.com>

        * objc-act.c (objc_build_internal_const_str_type): New function.
        (check_string_class_template): Use objc_get_class_ivars() instead
        of TYPE_FIELDS() to retrieve ivar list.
        (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
        than the field itself.
        (objc_build_string_object): Synthesize a "__builtin_ObjCString"
        type and use it to lay out compile-time string objects.
        * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
        New.

[gcc/testsuite/ChangeLog]
2005-06-29  Ziemowit Laski  <zlaski@apple.com>

        * obj-c++.dg/const-str-1[0-1].mm: New.
        * objc.dg/const-str-1[0-1].m: New.

From-SVN: r101437
2005-06-29 21:01:29 +00:00
Richard Henderson
d5dfe0b8c2 target-supports.exp (check_effective_target_vect_no_int_max): Rename from check_effective_target_vect_no_max.
* lib/target-supports.exp (check_effective_target_vect_no_int_max):
        Rename from check_effective_target_vect_no_max.
        (check_effective_target_vect_no_int_add): New.
        * gcc.dg/vect/vect-13.c: Use vect_no_int_max.
        * gcc.dg/vect/vect-91.c: Use vect_no_int_add.
        * gcc.dg/vect/vect-reduc-3.c: Likewise.
        * gcc.dg/vect/vect-reduc-1.c: Use both.
        * gcc.dg/vect/vect-reduc-2.c: Likewise.

From-SVN: r101435
2005-06-29 11:25:12 -07:00
Richard Henderson
70707f6c75 * config/alpha/alpha.md (vec_shl_<VEC>, vec_shr_<VEC>): New.
From-SVN: r101434
2005-06-29 11:22:06 -07:00
Richard Henderson
afc1ab6196 tree-vect-transform.c (vect_min_worthwhile_factor): Declare.
* tree-vect-transform.c (vect_min_worthwhile_factor): Declare.
        (vect_create_epilog_for_reduction): Don't use vec_shr if the
        operation is emulated.
        (vectorizable_reduction): Duplicate vect_min_worthwhile_factor
        tests from vectorizable_operation.

From-SVN: r101433
2005-06-29 11:13:27 -07:00
Caroline Tice
affb0e06f4 re PR rtl-optimization/21956 (useless symbols in object files)
2005-06-29  Caroline Tice  <ctice@apple.com>

        Fix PR 21956
        * varasm.c (assemble_start_function):  Add "L" to beginning of
        local labels, so assembler & linker treat them as local.

From-SVN: r101432
2005-06-29 10:47:31 -07:00
Tom Tromey
3af9ac15a9 re PR libgcj/22211 ([4.0 only] Thread.interrupt sometimes causes abort if thread is already dead)
PR libgcj/22211:
	* testsuite/libjava.lang/pr22211.java: New file.
	* java/lang/natThread.cc (finish_): Synchronize when updating
	alive_flag.
	(_Jv_AttachCurrentThread): Likewise.
	(interrupt): Only call _Jv_ThreadInterrupt if thread is alive.
	* java/lang/Thread.java (isAlive): Now synchronized.

From-SVN: r101430
2005-06-29 17:36:16 +00:00
Richard Henderson
9fb93f8966 i386.c (ix86_expand_int_vcond): Remove unsignedp argument.
* config/i386/i386.c (ix86_expand_int_vcond): Remove unsignedp
        argument.  Simplify canonicalization of condition.  Use unsigned
        saturating subtraction for QI and HImode unsigned compares.  Use
        bit arithmetic tricks for SImode unsigned compares.
        * config/i386/i386-protos.h (ix86_expand_int_vcond): Update decl.
        * config/i386/sse.md (SSEMODE14): New.
        (umaxv8hi3): Use us_minus+plus to avoid vcond.
        (umaxv4si3): New.
        (smax<SSEMODE14>3): Rename from smaxv16qi3 and macroize.
        (smin<SSEMODE14>3): Similarly with sminv16qi3.
        (umin<SSEMODE24>3): Similarly with uminv8hi3.

        * lib/target-supports.exp (check_effective_target_vect_no_max):
        Remove i386 and x86_64.

From-SVN: r101429
2005-06-29 10:27:23 -07:00
Ian Lance Taylor
88be5d434d dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change GEN_INT to gen_int_for_mode when storing register size to memory.
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change
	GEN_INT to gen_int_for_mode when storing register size to memory.

From-SVN: r101428
2005-06-29 16:22:35 +00:00
Tom Tromey
9cc2dc63bb interpret.cc (run): Use _Jv_CheckCast.
* interpret.cc (run) <insn_checkcast, checkcast_resolved>: Use
	_Jv_CheckCast.

From-SVN: r101427
2005-06-29 16:18:53 +00:00
Steve Ellcey
8972a0acae re PR middle-end/21969 (ICE on float __attribute__((vector_size(2048))))
PR testsuite/21969
	* gcc.dg/torture/pr21817.c: Use -fno-common for hppa*-*-* targets.

From-SVN: r101426
2005-06-29 16:15:40 +00:00
Stuart Hastings
972fcc764a mmintrin.h: Mark vector intrinsics always_inline.
2005-06-29  Stuart Hastings  <stuart@apple.com>

        * gcc/config/i386/mmintrin.h: Mark vector intrinsics always_inline.
        * gcc/config/i386/emmintrin.h: Likewise.
        * gcc/config/i386/pmmintrin.h: Likewise.
        * gcc/config/i386/xmmintrin.h: Likewise.

From-SVN: r101425
2005-06-29 16:14:17 +00:00
Steve Ellcey
e972ccce2c re PR middle-end/21969 (ICE on float __attribute__((vector_size(2048))))
PR middle-end/21969
	* gcc.dg/vect/pr21969.c: New test.

From-SVN: r101424
2005-06-29 15:38:34 +00:00
Steve Ellcey
a4e8ea7f41 re PR middle-end/21969 (ICE on float __attribute__((vector_size(2048))))
PR middle-end/21969
	* tree.h (TYPE_VECTOR_SUBPARTS): Change to shift expression.
	(SET_TYPE_VECTOR_SUBPARTS): New.
	* tree.c (make_vector_type): Replace TYPE_VECTOR_SUBPARTS with
	SET_TYPE_VECTOR_SUBPARTS.
	* tree-vect-transform.c (vect_transform_loop): Add cast.

From-SVN: r101423
2005-06-29 15:34:57 +00:00
Andreas Krebbel
63296cb1fe s390.c (s390_decompose_address): Accept invalid displacements for addresses containing frame_pointer_rtx or...
2005-06-29  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_decompose_address): Accept invalid
	displacements for addresses containing frame_pointer_rtx or
	virtual_stack_vars_rtx.
	(s390_frame_info): Replaced use of STARTING_FRAME_OFFSET.
	(s390_initial_elimination_offset): New offset when eliminating the
	soft frame pointer.
	* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Defined as 1.
	(STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Definitions changed.

From-SVN: r101422
2005-06-29 15:21:42 +00:00
Jonathan Wakely
a65da37d5b basic_string.h, [...]: Fix Doxygen comments that use wrong parameter and function names.
* include/bits/basic_string.h, include/bits/locale_facets.h: Fix
	Doxygen comments that use wrong parameter and function names.

From-SVN: r101419
2005-06-29 13:18:08 +01:00
Paolo Carlini
7d31a1f437 lwg-active.html, [...]: Import Revision 37.
2005-06-29  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
	* docs/html/ext/howto.html: Adjust.

From-SVN: r101418
2005-06-29 12:05:32 +00:00
Paolo Carlini
c7b802913b 2005-06-29 Paolo Carlini <pcarlini@suse.de>
Fix typo in last ChangeLog entry.

From-SVN: r101417
2005-06-29 11:52:23 +00:00
Paolo Carlini
d04e9b7fef re PR libstdc++/22131 (std::num_get fails for input with invalid groups)
2005-06-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22131
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
	num_get<>::_M_extract_float, money_get<>::_M_extract):
	Adjust to assign the result also when digit grouping is
	wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
	(NB: consistently for money_get too).
	* config/locale/generic/c_locale.cc (__convert_from_v): Do
	not check ios_base::failbit at the outset.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/22131.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/12.cc: Adjust.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
	Likewise.

From-SVN: r101416
2005-06-29 11:48:53 +00:00
Ziemowit Laski
43b3a5b10f c-common.c (flag_next_runtime): Move...
[gcc/ChangeLog]
2006-06-28  Ziemowit Laski  <zlaski@apple.com>

       * c-common.c (flag_next_runtime): Move...
       * toplev.c (flag_next_runtime): ... here.
       * c-common.h (flag_next_runtime): Move...
       * flags.h (flag_next_runtime): ... here.
       * config/darwin-c.c: Include flags.h.
       * config/t-darwin (darwin-c.o): Depend on flags.h.

From-SVN: r101415
2005-06-29 03:01:27 +00:00
Kelley Cook
cd1414ee2e all files: Update FSF address.
2005-06-29  Kelley Cook  <kcook@gcc.gnu.org>

	* all files: Update FSF address.

From-SVN: r101414
2005-06-29 02:59:06 +00:00
Kelley Cook
200031d1d5 all files: Update FSF address in copyright headers.
2005-06-29  Kelley Cook  <kcook@gcc.gnu.org>

	* all files: Update FSF address in copyright headers.
	* makeucnid.c (write_copyright): Update outputted FSF address.

From-SVN: r101413
2005-06-29 02:34:39 +00:00
Kaz Kojima
4f1eb6e36f linux-unwind.h (shmedia_fallback_frame_state): Disable aliasing warning with void * cast.
* config/sh/linux-unwind.h (shmedia_fallback_frame_state):
	Disable	aliasing warning with void * cast.
	(sh_fallback_frame_state): Likewise.

From-SVN: r101412
2005-06-29 01:45:37 +00:00
Kaz Kojima
b48f503c98 target.h (gcc_target): New field allocate_initial_value.
* target.h (gcc_target): New field allocate_initial_value.
	* target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
	(TARGET_INITIALIZER): Include it.
	* integrate.c (allocate_initial_values): Use
	targetm.allocate_initial_value.
	* system.h: Poison ALLOCATE_INITIAL_VALUE.
	* config/sh/sh-protos.h (sh_pr_n_sets): Delete.
	* config/sh/sh.c (sh_pr_n_sets): Make it static.
	(sh_allocate_initila_value): New function.
	(TARGET_ALLOCATE_INITIAL_VALUE): Override default.
	* config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
	* doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
	update from ALLOCATE_INITIAL_VALUE.

From-SVN: r101411
2005-06-29 01:24:27 +00:00
Richard Henderson
dcb081fc08 tree-vectorizer.c (vect_is_simple_reduction): Compare types using TYPE_MAIN_VARIANT.
* tree-vectorizer.c (vect_is_simple_reduction): Compare types
        using TYPE_MAIN_VARIANT.

From-SVN: r101407
2005-06-28 17:36:31 -07:00
Richard Henderson
6283ba266f ia64.c (ia64_expand_vecint_compare): Decompose to EQ when using psubN.uuu.
* config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ
        when using psubN.uuu.

From-SVN: r101405
2005-06-28 17:32:25 -07:00
GCC Administrator
a415a2505d Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101403.2
2005-06-29 00:16:48 +00:00
Kelley Cook
1ea9f91823 gcc.texi: Update FSF address.
2005-06-29  Kelley Cook <kcook@gcc.gnu.org>

	* doc/gcc.texi: Update FSF address.

From-SVN: r101401
2005-06-29 00:14:32 +00:00
Eric Christopher
6663ee3b84 re PR c/22052 (redefinition of inline function succeeds)
2005-06-28  Eric Christopher  <echristo@redhat.com>

        PR c/22052
        PR c/21975
        * c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE.
        Use. Fix detection of invalid extern inline redefinition.

2005-06-28  Eric Christopher  <echristo@redhat.com>

        PR c/22052
        PR c/21975
        * gcc.dg/inline1.c: New test.
        * gcc.dg/inline2.c: Ditto.
        * gcc.dg/inline3.c: Ditto.
        * gcc.dg/inline4.c: Ditto.
        * gcc.dg/inline5.c: Ditto.

From-SVN: r101400
2005-06-29 00:11:36 +00:00
Diego Novillo
38c955ff44 * tree-optimize.c (init_tree_optimization_passes): Fix typo.
From-SVN: r101399
2005-06-28 19:11:55 -04:00
Thomas Koenig
7f8f6d5f05 re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)
2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift1_4.c:  Regenerated.
        * m4/eoshift1_8.c:  Regenerated.

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
        Add testcase also testing eoshift1 for PR 22142.

From-SVN: r101398
2005-06-28 23:07:20 +00:00
Andrew Pinski
a05be2e0c3 rs6000.md (setmemsi): s/operand/operands/.
2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/rs6000.md (setmemsi): s/operand/operands/.

From-SVN: r101397
2005-06-28 15:59:44 -07:00
Richard Henderson
e934ca476b ia64.c (ia64_expand_vecint_compare): Use unsigned saturating subtraction for QI and HImode unsigned compares.
* config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsigned
        saturating subtraction for QI and HImode unsigned compares.  Use
        bit arithmetic tricks for SImode unsigned compares.
        (ia64_expand_vcondu_v2si): Remove.
        (ia64_expand_vecint_cmov): Don't call it.

From-SVN: r101396
2005-06-28 15:34:53 -07:00
Richard Henderson
505ac50770 rtlanal.c (nonzero_bits1): Use the mode of the value for determining integral-ness for comparisons.
* rtlanal.c (nonzero_bits1): Use the mode of the value for
        determining integral-ness for comparisons.

From-SVN: r101395
2005-06-28 15:24:12 -07:00
Andrew Pinski
98843c9206 rs6000.md (setmemsi): Fix operand 2.
2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/rs6000.md (setmemsi): Fix operand 2.

From-SVN: r101394
2005-06-28 15:18:54 -07:00
Richard Henderson
777c888909 20030708-1.c: Remove static from test function.
* gcc.dg/tree-ssa/20030708-1.c: Remove static from test function.
        * gcc.dg/tree-ssa/20030709-1.c, gcc.dg/tree-ssa/20030714-1.c,
        gcc.dg/tree-ssa/20030807-1.c, gcc.dg/tree-ssa/20030807-5.c,
        gcc.dg/tree-ssa/20030807-8.c, gcc.dg/tree-ssa/20030815-1.c,
        gcc.dg/tree-ssa/20030922-2.c: Likewise.

From-SVN: r101393
2005-06-28 15:00:54 -07:00
Thomas Koenig
0f363a3b8c re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)
2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift3_4.c:  Regenerated.
        * m4/eoshift3_8.c:  Regenerated.

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
        Add testcase for PR 22142.

From-SVN: r101392
2005-06-28 21:57:45 +00:00
Joseph Myers
4de67c26fe target.h (invalid_conversion, [...]): New hooks.
* target.h (invalid_conversion, invalid_unary_op,
	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.

From-SVN: r101391
2005-06-28 22:55:24 +01:00
Paul Brook
2a75c0b6d2 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

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.

From-SVN: r101389
2005-06-28 20:06:39 +00:00
Adrian Straetling
57e84f1840 builtins.c: (expand_builtin_memset): Rewrite to support 'set_storage_via_setmem'.
2006-06-28  Adrian Straetling  <straetling@de.ibm.com>

	* builtins.c: (expand_builtin_memset): Rewrite to support
	'set_storage_via_setmem'.
	* expr.c: (enum insn_code setmem_optab): Define.
	(enum insn_code clrmem_optab): Remove.
	(set_storage_via_setmem): New function.
	(clear_storage_via_setmem): Remove.
	(clear_storage): Replace call to "clear_storage_via_clrmem" with
	"set_storage_via_setmem".
	* expr.h: (set_storage_via_setmem): Declare.
	(CLEAR_RATIO): Redefine using HAVE_setmemM.
	* optabs.h: (enum insn_code setmem_optab): Declare.
	(enum insn_code clrmem_optab): Remove.
	* optabs.c: (init_optabs): Initialize setmem_optab.
	(enum insn_code clrmem_optab): Remove.
	* genopinit.c: (otabs): Likewise.
	* doc/md.texi: Document new standard pattern 'setmem'. Remove
	  'clrmem'.
	* config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
	'operands' ordering.
	* config/frv/frv.c: (frv_expand_block_clear): Likewise.
	* config/rs6000/rs6000.c: (expand_block_clear): Likewise.
	* config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
	FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
	* config/avr/avr.md: ("clrmemhi"): Likewise.
	* config/frv/frv.md: ("clrmemsi"): Likewise.
	* config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
	* config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
	* config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
	* config/s390/s390.md: ("clrmem<mode>"): Likewise.

From-SVN: r101386
2005-06-28 19:56:23 +00:00
Paul Brook
617a1b7144 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

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.

From-SVN: r101385
2005-06-28 19:52:27 +00:00
DJ Delorie
3176a0c28f c-decl.c (pop_scope): Move warning control into warning call.
* c-decl.c (pop_scope): Move warning control into warning call.
(diagnose_mismatched_decls): Likewise.
(pushdecl): Likewise.
(start_decl): Likewise.
(grokparms): Likewise.
(start_function): Likewise.
(store_parm_decls_newstyle): Likewise.
(store_parm_decls_oldstyle): Likewise.
(finish_function): Likewise.
(declspecs_add_scspec): Likewise.
* c-format.c (decode_format_attr): Likewise.
(maybe_read_dollar_number): Likewise.
(avoid_dollar_number): Likewise.
(finish_dollar_format_checking): Likewise.
(check_format_info): Likewise.
(check_format_info_main): Likewise.
(check_format_types): Likewise.
(format_type_warning): Likewise.
* c-typeck.c (function_types_compatible_p): Likewise.
(build_array_ref): Likewise.
(convert_arguments): Likewise.
(build_c_cast): Likewise.
(store_init_value): Likewise.
(process_init_element): Likewise.
(c_start_case): Likewise.
* stor-layout.c (finalize_record_size): Likewise.
* tree-cfg.c (execute_warn_function_noreturn): Likewise.
* tree-inline.c (expand_call_inline): Likewise.

From-SVN: r101384
2005-06-28 15:33:23 -04:00
Uros Bizjak
cec471db31 re PR target/22134 (vf_hue.c:54: internal compiler error: in final_scan_insn, at final.c:2419)
PR target/22134
        * config/i386/i386.md (fist<mode>2_with_temp splitter):
        Clobber memory operand, not scratch register.

From-SVN: r101383
2005-06-28 12:19:27 -07:00
Robin Green
832a0afe9c re PR libgcj/22189 (Table Full in gcj-dbtool if -m option used with smallest possible input)
2005-06-28  Robin Green  <greenrd@greenrd.org>

	PR java/22189
	* gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
	error.

From-SVN: r101382
2005-06-28 14:31:22 +00:00