Commit Graph

90578 Commits

Author SHA1 Message Date
Jakub Jelinek dbc0f59397 s390.c (s390_mark_symbol_ref_as_used): New function.
* config/s390/s390.c (s390_mark_symbol_ref_as_used): New function.
	(s390_output_pool_entry): Call it through for_each_rtx.

From-SVN: r141468
2008-10-30 23:36:30 +01:00
Mikael Morin 45bc572c86 re PR fortran/37903 (wrong-code for complicated vector subscripts)
2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37903
        * trans-array.c (gfc_trans_create_temp_array): If n is less
	than the temporary dimension, assert that loop->from is
	zero (reverts to earlier versions). If there is at least one
	null loop->to[n], it is a callee allocated array so set the
	size to NULL and break.
	(gfc_trans_constant_array_constructor): Set the offset to zero.
	(gfc_trans_array_constructor): Remove loop shifting around the
	temporary creation.
	(gfc_conv_loop_setup): Prefer zero-based descriptors if
	possible.  Calculate the translation from loop variables to
	array indices if an array constructor.

2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37749
        * trans-array.c (gfc_trans_create_temp_array): If size is NULL
	use the array bounds for loop->to.

2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37903
        * gfortran.dg/vector_subscript_4.f90: New test.

2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37749
        * gfortran.dg/vector_subscript__5.f90: New test.

From-SVN: r141467
2008-10-30 20:45:09 +00:00
Catherine Moore 73c07a3e71 MAINTAINERS (Write after approval): Update my email address.
2008-10-30  Catherine Moore  <clm@codesourcery.com>

        * MAINTAINERS (Write after approval): Update my email address.

From-SVN: r141465
2008-10-30 14:42:39 -04:00
Jakub Jelinek 905cf57dab pr36822.c: Avoid cast to pointer from integer of different size warning with -m31.
* gcc.target/s390/pr36822.c: Avoid cast to pointer from integer
	of different size warning with -m31.

From-SVN: r141462
2008-10-30 13:51:03 +01:00
Jakub Jelinek 723a7cedae re PR middle-end/37730 (gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2)
PR middle-end/37730
	* expr.c (store_constructor): For vectors, if target is a MEM, use
	target's MEM_ALIAS_SET instead of elttype alias set.

	* gcc.dg/vect/pr37730.c: New test.

From-SVN: r141461
2008-10-30 13:49:31 +01:00
GCC Administrator 8ec6daa568 Daily bump.
From-SVN: r141456
2008-10-30 00:16:55 +00:00
Jakub Jelinek 63240f9558 re PR debug/36668 (FAIL: g++.dg/other/PR23205.C scan-assembler .stabs.*foobar:c=i)
PR debug/36668
	* g++.dg/other/PR23205.C: Allow foobar to be defined as variable.
	* g++.dg/other/pr23205-2.C: New test.

From-SVN: r141453
2008-10-30 01:11:23 +01:00
Kaz Kojima 77253e5663 re PR target/37909 (internal compiler error: in fixup_mova, at config/sh/sh.c:3756)
PR target/37909
	* config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has
	no address.

From-SVN: r141452
2008-10-29 23:54:35 +00:00
David Edelsohn b4cb33a15e * gcc.c-torture/compile/pr37878.c: New test.
From-SVN: r141451
2008-10-29 19:39:30 -04:00
David Edelsohn 2665ab87be re PR target/37878 (PPC64 ldu command generated with invalid offset)
PR target/37878
        * config/rs6000/predicates.md (word_offset_memref_operand):
        Restructure code and look inside auto-inc/dec addresses.

From-SVN: r141450
2008-10-29 19:33:02 -04:00
Steve Ellcey 81a39e89f3 re PR target/32277 (indir-call-prof fails on ia64-linux-gnu)
PR target/32277
	* libgcov.c ( __gcov_indirect_call_profiler): Check
	TARGET_VTABLE_USES_DESCRIPTORS.

From-SVN: r141442
2008-10-29 19:46:16 +00:00
Steve Ellcey f9f658c800 re PR middle-end/37339 (gcc.dg/pr33645-3.c scan-assembler-not var1_t)
PR middle-end/37339
	* gcc.dg/pr33545-3.c: Remove.

From-SVN: r141440
2008-10-29 19:41:26 +00:00
Stefan Schulze Frielinghaus 7310a2da1c configure.ac [spu-*-*]: Do not set skipdirs.
ChangeLog:

2008-10-29  Stefan Schulze Frielinghaus  <xxschulz@de.ibm.com>

	* configure.ac [spu-*-*]: Do not set skipdirs.
	* configure: Re-generate.

gcc/ChangeLog:

2008-10-29  Stefan Schulze Frielinghaus  <xxschulz@de.ibm.com>

	* config/spu/spu.h (FRAME_GROWS_DOWNWARD): Define.
	(INITIAL_FRAME_POINTER_OFFSET): Remove.
	* config/spu/spu.c (spu_initial_elimination_offset): Calculate new
	offset if eliminating soft frame pointer.
	* config/spu/spu.md (stack_protect_set, stack_protect_test)
	(stack_protect_test_si): Add initial machine description
	for Stack Smashing Protector

From-SVN: r141437
2008-10-29 19:33:45 +00:00
Manuel López-Ibáñez cdd6a337c0 re PR middle-end/11492 (Bogus warning with -Wsign-compare)
2008-10-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 11492
	* c-common.c (min_precision): Move to...
	* tree.c (tree_int_cst_min_precision): ... to here. Renamed.
	* tree.h (tree_int_cst_min_precision): Declare.
	* c-common.h (min_precision): Delete declaration.
	* fold-const.c (tree_binary_nonnegative_warnv_p): Handle
	multiplication of non-negative integer constants.
	* c-decl.c (check_bitfield_type_and_width): Rename min_precision to
	tree_int_cst_min_precision.
	(finish_enum): Likewise.
cp/
	* class.c (check_bitfield_decl): Rename min_precision to
	tree_int_cst_min_precision.
	* decl.c (finish_enum): Likewise.
testsuite/
	* gcc.dg/pr11492.c: New.
	* g++.dg/warn/pr11492.C: New.

From-SVN: r141434
2008-10-29 17:16:46 +00:00
Joseph Myers 20ded7a68b re PR middle-end/36578 (cast to long double not taken into account when result stored to a double)
PR middle-end/36578
	* convert.c (convert_to_real): Do not optimize conversions of
	binary arithmetic operations between binary and decimal
	floating-point types.  Consider mode of target type in determining
	decimal type for arithmetic.  Unless
	flag_unsafe_math_optimizations, do not optimize binary conversions
	where this may change rounding behavior.
	* real.c (real_can_shorten_arithmetic): New.
	* real.h (real_can_shorten_arithmetic): Declare.

testsuite:
	* gcc.dg/dfp/convert-bfp-13.c, gcc.dg/dfp/convert-bfp-14.c,
	gcc.dg/dfp/convert-dfp-fold-2.c, gcc.target/i386/pr36578-1.c,
	gcc.target/i386/pr36578-2.c: New tests.

From-SVN: r141432
2008-10-29 17:05:42 +00:00
Bernd Schmidt 669eeb28ea bfin-protos.h (WA_05000257, [...]): New.
* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315,
	ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New.
	* config/bfin/bfin.c (bfin_cpus): Add these workaround bits as
	appropriate.
	(must_save_p): For some workarounds, interrupts need to clobber a
	P register.
	(expand_prologue_reg_save, expand_epilogue_reg_restore): Save LC0
	and LC1 for WA_05000257.
	(expand_interrupt_handler_prologue): Add dummy read of CHIPID for
	WA_05000283 and WA_05000315.
	* config/bfin/bfin.md (UNSPEC_VOLATILE_DUMMY): New constant.
	(movbi): Add alternative to set CC to 1; improve code for setting
	CC to 0.
	(dummy_load): New pattern.

From-SVN: r141431
2008-10-29 16:37:22 +00:00
Jakub Jelinek 7d293b587a re PR middle-end/37870 (ICE in extract_bit_field_1)
PR middle-end/37870
	* expmed.c (extract_bit_field_1): If int_mode_for_mode returns
	BLKmode for non-memory, convert using a wider MODE_INT mode
	or through memory.

	* gcc.target/i386/pr37870.c: New test.

From-SVN: r141430
2008-10-29 17:07:39 +01:00
Manuel López-Ibáñez d3f7b2c67e re PR c++/26997 (g++ reports misleading error message when the identifier with error occurs earlier on the same line)
2008-10-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/26997
cp/
	* parser.c (cp_parser_token_starts_cast_expression): New.
	(cp_parser_cast_expression): Peek the next token to decide whether
	this could be a parenthesized constructor or is definitely an
	actual cast.
testsuite/
	* g++.dg/parse/pr26997.C: New.

From-SVN: r141429
2008-10-29 16:05:27 +00:00
Jakub Jelinek e49cf92754 Revert UTF-8 breaking parts of 141383 and 141295 commits.
From-SVN: r141428
2008-10-29 16:59:38 +01:00
Jakub Jelinek a9a92cac57 Fix last commit.
From-SVN: r141427
2008-10-29 16:20:58 +01:00
Jakub Jelinek 4d731f1702 re PR middle-end/37913 (ICE: Segmentation fault in link_block, cfg.c:153)
PR middle-end/37913
	* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Only split bbs
	that haven't been removed yet.

	* gcc.c-torture/compile/pr37913.c: New test.

From-SVN: r141426
2008-10-29 16:19:24 +01:00
Bernd Schmidt a848cf52b5 bfin.c (struct machine_function): New member has_loopreg_clobber.
* config/bfin/bfin.c (struct machine_function): New member
	has_loopreg_clobber.
	(bfin_expand_movmem): Set it when generating memcpy insns.
	(n_regs_saved_by_prologue, expand_prologue_reg_save,
	expand_epilogue_reg_restore): If we have hardware loops,
	memcpy insns (indicated by has_loopreg_clobber) or function
	calls, we need to save the loop registers.

From-SVN: r141425
2008-10-29 15:12:28 +00:00
Bernd Schmidt 7e51fe23ab MAINTAINERS (Various Maintainers): Add myself to reload.
* MAINTAINERS (Various Maintainers): Add myself to reload.

From-SVN: r141424
2008-10-29 15:10:17 +00:00
Joseph Myers 95cae0c17f * id.po: New.
From-SVN: r141422
2008-10-29 12:28:07 +00:00
H.J. Lu a31b4ecf29 i386.c (core2_cost): Fix typos in comments.
2008-10-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (core2_cost): Fix typos in comments.

From-SVN: r141419
2008-10-28 21:18:24 -07:00
GCC Administrator 91fc78d352 Daily bump.
From-SVN: r141417
2008-10-29 00:16:34 +00:00
Jakub Jelinek 47676a2889 re PR tree-optimization/37663 (ice in simplify_truth_ops_using_ranges, at tree-vrp.c:6335)
PR tree-optimization/37663
	* gcc.dg/pr37663.c: Require int32plus.

From-SVN: r141414
2008-10-28 21:06:08 +01:00
Jakub Jelinek 261639a226 re PR c/37924 (ice in smallest_mode_for_size, at stor-layout.c:219)
PR c/37924
	* combine.c (make_compound_operation): Don't call make_extraction with
	non-positive length.
	(simplify_shift_const_1): Canonicalize count even if complement_p.

	* gcc.c-torture/execute/pr37924.c: New test.

From-SVN: r141413
2008-10-28 20:02:36 +01:00
Tobias Burnus e18f73cdd3 intrinsic.texi: Update OpenMP section for OMPv3.
2008-10-28  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi: Update OpenMP section for OMPv3.

From-SVN: r141408
2008-10-28 14:22:51 +01:00
Joseph Myers 938d35bd4a convert.c (strip_float_extensions): Do not remove or introduce conversions between binary and decimal...
* convert.c (strip_float_extensions): Do not remove or introduce
	conversions between binary and decimal floating-point types.

testsuite:
	* gcc.dg/dfp/convert-bfp-12.c: New test.

From-SVN: r141407
2008-10-28 12:10:18 +00:00
Jakub Jelinek 5229689d71 re PR middle-end/37931 (ice: verify_gimple failed)
PR middle-end/37931
	* fold-const.c (distribute_bit_expr): Convert common, left and
	right arguments to type.

	* gcc.c-torture/execute/pr37931.c: New test.

From-SVN: r141406
2008-10-28 11:34:51 +01:00
Nick Clifton 9d54866d54 mn10300.h (CALL_REALLY_USED_REGISTERS): Define.
* config/mn10300/mn10300.h (CALL_REALLY_USED_REGISTERS): Define.
        * config/mn10300/mn10300.c (fp_regs_to_save): Test the
        call_really_used_regs array rather than the call_used_regs array.
        (mn10300_get_live_callee_saved_regs, expand_prologue,
        expand_epilogue, output_tst): Likewise.

From-SVN: r141405
2008-10-28 09:45:37 +00:00
GCC Administrator 2057f26d0e Daily bump.
From-SVN: r141401
2008-10-28 00:16:40 +00:00
Jakub Jelinek 60d52d0d46 re PR target/37378 (Revision 139827 causes Divide_X)
PR target/37378
	* df-scan.c (df_bb_refs_collect): Don't handle EH_USES here.
	(df_get_entry_block_def_set): Neither here.
	(df_get_regular_block_artificial_uses): Add EH_USES registers.

From-SVN: r141392
2008-10-27 22:37:06 +01:00
Jakub Jelinek 6a16e93455 re PR tree-optimization/37879 (ICE with "wrong" use of noreturn attribute and optimization)
PR tree-optimization/37879
	* predict.c (tree_estimate_probability): Check if last_stmt is
	non-NULL before dereferencing it.

	* gcc.dg/pr37879.c: New test.

From-SVN: r141390
2008-10-27 21:36:32 +01:00
Paolo Carlini 8f0f2a1dfd re PR libstdc++/37919 ([c++0x] GCC 4.4 regression r141214 of gcc c++0x stl_pair.c causes a boost 1.36 compilation to fail)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37919
	Revert:
	2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>

	* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
	(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
	Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
	Remove the old variadic constructor, and instead provide several
	variadic constructors that avoid failing when attempting to
	initialize a pointer from a null pointer constant.
	* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
	initialization of pointers from the null pointer constant.

From-SVN: r141388
2008-10-27 16:50:23 +00:00
Janis Johnson 202e781535 add PR to ChangeLog entry for previous commit
From-SVN: r141387
2008-10-27 16:46:32 +00:00
Janis Johnson 4a44abab56 re PR other/37897 (decNumber functions break strict-aliasing rules)
PR other/37897
	* decDouble.h (decDouble): Replace struct with union accessible
	by more types.
	* decSingle.h (decSingle): Ditto.
	* decQuad.h (decQuad): Ditto.
	* decNumberLocal.h (DFWORD, DFBYTE, DFWWORD): access decFloat via
	new members.
	* decBasic.c (decFloatCompareTotal): Avoid type-pun violation.
	(decNumberCompare): Ditto.

From-SVN: r141386
2008-10-27 16:45:40 +00:00
Vladimir Makarov cb1ca6ac11 ira-int.h (ira_allocno): Add member updated_cover_class_cost.
2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-int.h (ira_allocno): Add member updated_cover_class_cost.
	(ALLOCNO_UPDATED_COVER_CLASS_COST): New.
	(ira_fast_allocation): Remove the prototype.
	
	* ira-color.c (update_copy_costs, allocno_cost_compare_func,
	assign_hard_reg, calculate_allocno_spill_cost): Use updated costs.
	(color_pass): Modify the updated costs.
	(ira_color): Rename to color.  Make it static.
	(ira_fast_allocation): Rename to fast_allocation.  Make it static.
	(ira_color): New function.
	
	* ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost
	change.

	* ira-lives.c (last_call_num, allocno_saved_at_call): New
	variables.
	(set_allocno_live, clear_allocno_live, mark_ref_live,
	mark_ref_dead): Invalidate corresponding element of
	allocno_saved_at_call.
	(process_bb_node_lives): Increment last_call_num.  Setup
	allocno_saved_at_call.  Don't increase ALLOCNO_CALL_FREQ if the
	allocno was already saved.
	(ira_create_allocno_live_ranges): Initiate last_call_num and
	allocno_saved_at_call.

	* ira-build.c (ira_create_allocno): Initiate
	ALLOCNO_UPDATED_COVER_CLASS_COST.
	(create_cap_allocno, propagate_allocno_info,
	remove_unnecessary_allocnos): Remove setting updated costs.
	(ira_flattening): Set up ALLOCNO_UPDATED_COVER_CLASS_COST.

	* ira.c (ira):  Don't call ira_fast_allocation.

	* ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up
	updated costs.

From-SVN: r141385
2008-10-27 16:39:26 +00:00
Vladimir Makarov c0683a8290 re PR middle-end/37813 (assert with IRA_COVER_CLASSES with singleton)
2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/37813
	* ira-conflicts.c (process_regs_for_copy): Remove class subset
	check.

	* ira-int.h (ira_hard_regno_cover_class): New.

	* ira-lives.c (mark_reg_live, mark_reg_dead,
	process_bb_node_lives): Use ira_hard_regno_cover_class.

	* ira.c (reg_class ira_hard_regno_cover_class): New global
	variable.
	(setup_hard_regno_cover_class): New function.
	(ira_init): Call setup_hard_regno_cover_class.

	* ira-costs.c (cost_class_nums): Add comment.
	(find_allocno_class_costs): Initiate cost_class_nums.
	(setup_allocno_cover_class_and_costs): Check cost_class_nums.

From-SVN: r141384
2008-10-27 16:24:19 +00:00
Vladimir Makarov 801f03e3d2 re PR middle-end/37884 (Bootstrap failure due to miscompilation of tree-vrp.c)
2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/37884
	* ira-build.c (copy_live_ranges_to_removed_store_destinations):
	Rename to copy_info_to_removed_store_destinations.  Propagate
	conflict hard regs and register stack attribute.

From-SVN: r141383
2008-10-27 16:19:25 +00:00
Paolo Carlini 83b83ae97a re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37522
	* config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
	* include/bits/basic_string.h: Guard string conversions with 
	!defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
	* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
	New.
	* testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Use the latter.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	Likewise.

From-SVN: r141382
2008-10-27 15:01:28 +00:00
John David Anglin c3e39a4729 re PR middle-end/37316 (Small structs are not passed correctly on hppa64-*-*)
2008-10-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR middle-end/37316
	* pa.c (function_arg_padding):  Pad complex and vector types upward in
	64-bit runtime.
	(function_arg): Use BLKmode for PARALLEL in 64-bit runtime.

From-SVN: r141380
2008-10-27 01:16:13 +00:00
GCC Administrator 0c3c56b780 Daily bump.
From-SVN: r141377
2008-10-27 00:16:36 +00:00
Matthias Klose 793c44bd8e install.texi: Document requirements on antlr.
2008-10-26  Matthias Klose  <doko@ubuntu.com>

       * doc/install.texi: Document requirements on antlr.

From-SVN: r141373
2008-10-26 16:22:52 +00:00
GCC Administrator 0a622aee21 Daily bump.
From-SVN: r141367
2008-10-26 00:16:42 +00:00
Richard Guenther ef20be932f MAINTAINERS (Various Maintainers): Add myself as middle-end maintainer.
2008-10-25  Richard Guenther  <rguenther@suse.de>

	* MAINTAINERS (Various Maintainers): Add myself as middle-end
	maintainer.  Remove myself as libgcc-math maintainer.
	(Non-Algorithmic Maintainers): Remove myself.

From-SVN: r141363
2008-10-25 18:33:15 +00:00
Richard Sandiford 59dbe1d9da mips.h (REG_ALLOC_ORDER): Put call-clobbered registers first.
gcc/
	* config/mips/mips.h (REG_ALLOC_ORDER): Put call-clobbered registers
	first.

From-SVN: r141362
2008-10-25 15:49:27 +00:00
GCC Administrator 6af6748c20 Daily bump.
From-SVN: r141360
2008-10-25 00:16:47 +00:00
Michael Meissner 099590dcb6 PR target/37841: Fix SPU abi
From-SVN: r141356
2008-10-24 23:45:02 +00:00