Commit Graph

90389 Commits

Author SHA1 Message Date
Mikael Morin
d3d0b9e07f re PR fortran/35840 (ICE for character expression in I/O specifier)
2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35840
	* expr.c (gfc_reduce_init_expr): New function, containing checking code
	from gfc_match_init_expr, so that checking can be deferred. 
	(gfc_match_init_expr): Use gfc_reduce_init_expr.
	* io.c (check_io_constraints): Use gfc_reduce_init_expr instead of 
	checking that the expression is a constant. 
	* match.h (gfc_reduce_init_expr): Prototype added. 

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

	PR fortran/35840
	* gfortran.dg/write_check4.f90: New test.

From-SVN: r141497
2008-10-31 15:56:21 +00:00
Mikael Morin
0e6834af18 [multiple changes]
2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35820
	* resolve.c (gfc_count_forall_iterators): New function.
	(gfc_resolve_forall): Use gfc_count_forall_iterators to evaluate 
	the needed memory amount to allocate. Don't forget to free allocated 
	memory.  Add an assertion to check for memory leaks. 

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

	PR fortran/35820
	* gfortran.dg/nested_forall_1.f: New test.

From-SVN: r141496
2008-10-31 15:37:17 +00:00
Duncan Sands
798c19f855 * MAINTAINERS (Write After Approval): Add self.
From-SVN: r141495
2008-10-31 15:36:18 +00:00
Mikael Morin
ea99e36ef7 MAINTAINERS (Write after approval): Add myself.
2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	* MAINTAINERS (Write after approval): Add myself.

From-SVN: r141494
2008-10-31 15:20:23 +00:00
Joseph Myers
41216c64b5 * id.po: Update.
From-SVN: r141492
2008-10-31 14:11:42 +00:00
Jerry DeLisle
32584f7286 Fix garbage.
From-SVN: r141490
2008-10-31 04:53:00 +00:00
Steven G. Kargl
dc4a37ec55 re PR fortran/37930 (gfortran error and ICE at automatic type conversion with transfer intrinsic)
2008-10-30  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/37930
	* gfortran.dg/int_conv_2.f90:  New test.

From-SVN: r141489
2008-10-31 04:51:04 +00:00
Steven G. Kargl
7278e4dcfb re PR fortran/37930 (gfortran error and ICE at automatic type conversion with transfer intrinsic)
2008-10-30  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/37930
	* fortran/arith.c (gfc_mpfr_to_mpz):  Test for NaN and Inf values.
	Remove stale comment and kludge code for MPFR 2.0.1 and older.
	(gfc_real2int): Error on conversion of NaN or Inf.
	(gfc_complex2int): Ditto.
	* fortran/arith.h: Update mpfr_to_mpz prototype.
	* fortran/simplify.c (gfc_simplify_ceiling, gfc_simplify_floor,
	gfc_simplify_ifix, gfc_simplify_idint, simplify_nint): Update function
	calls to include locus.

From-SVN: r141488
2008-10-31 04:45:28 +00:00
GCC Administrator
98d53624ea Daily bump.
From-SVN: r141481
2008-10-31 00:17:00 +00:00
Ben Elliston
fb0d26846b configure.ac (spu-*-*): Remove special case.
* configure.ac (spu-*-*): Remove special case.
	* configure: Regenerate.

From-SVN: r141471
2008-10-31 10:33:12 +11:00
Luis Machado
7c8fbd3fbe Add -dumpbase to the switches that take arguments
From-SVN: r141469
2008-10-30 22:45:32 +00:00
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