Commit Graph

78328 Commits

Author SHA1 Message Date
Kai Tietz
95af8923f1 Regenerate configure after updating configure.in
From-SVN: r120610
2007-01-09 07:35:39 +00:00
Geoffrey Keating
e0f7e748ec * doc/invoke.texi (Optimize Options): Correct description of -O0.
From-SVN: r120609
2007-01-09 07:30:30 +00:00
Geoffrey Keating
b061615db8 * doc/invoke.texi (Optimize Options): Correct description of -O0.
From-SVN: r120608
2007-01-09 07:30:17 +00:00
Andrew Pinski
006166982a intrinsics-1.c: Remove xfail.
2007-01-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.target/spu/intrinsics-1.c: Remove xfail.

From-SVN: r120607
2007-01-08 20:19:18 -08:00
GCC Administrator
47dd2a0110 Daily bump.
From-SVN: r120603
2007-01-09 00:18:07 +00:00
Richard Guenther
b8fca551db tree.h (force_fit_type_double): Export.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* tree.h (force_fit_type_double): Export.
	(force_fit_type): Remove.
	* fold-const.c (force_fit_type_double): New function.
	(force_fit_type): Remove.
	(int_const_binop): Use it.
	(fold_convert_const_int_from_int): Likewise.
	(fold_convert_const_int_from_real): Likewise.
	(fold_div_compare): Likewise.
	(fold_sign_changed_comparison): Likewise.
	(fold_unary): Likewise.
	(fold_negate_const): Likewise.
	(fold_abs_const): Likewise. 
	(fold_not_const): Likewise.
	* c-common.c (shorten_compare): Use force_fit_type_double.
	* convert.c (convert_to_pointer): Likewise.

From-SVN: r120597
2007-01-08 23:07:44 +00:00
Richard Guenther
2ac7cbb532 tree.h (build_int_cst_wide_type): Export.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* tree.h (build_int_cst_wide_type): Export.
	* tree.c (build_int_cst_wide_type): New function.
	(build_int_cst_wide): Fix comment.
	* builtins.c (fold_builtin_object_size): Use build_int_cst
	to build -1 or 0 of the correct type.  Use fit_double_type
	to check for overflow.
	* fold-const.c (optimize_bit_field_compare): Use build_int_cst_type
	to build the mask.
	(decode_field_reference): Likewise.
	(all_ones_mask_p): Likewise.
	(native_interpret_int): Use build_int_cst_wide_type.
	(fold_binary): Use build_int_cst_type to build an all-ones
	value.
	* stor-layout.c (set_sizetype): Use build_int_cst_wide_type.

	java/
	* lex.c (do_java_lex): Use build_int_cst_wide_type.
	* jcf-parse.c (get_constant): Likewise.

	cp/
	* cvt.c (cp_convert_to_pointer): Use build_int_cst_type.

	ada/
	* cuintp.c (build_cst_from_int): Use built_int_cst_type.
	* trans.c (gnat_to_gnu): Likewise.

From-SVN: r120596
2007-01-08 22:53:20 +00:00
Daniel Jacobowitz
1c61ff2946 * config/pa/t-pa64 (libgcc_stub.a): Use $(T).
From-SVN: r120595
2007-01-08 22:50:43 +00:00
Ben Elliston
df1133a62c genautomata.c (STATS_OPTION): New option.
* genautomata.c (STATS_OPTION): New option.
	(stats_flag): New flag.
	(gen_automata_option): Handle it.
	(initiate_automaton_gen): Ditto.
	(write_automata): Output statistics only if stats_flag is
	set. Likewise, output time statistics only if time_flag is set.
	* doc/md.texi (Processor pipeline description): Document new flag.

From-SVN: r120594
2007-01-09 09:24:13 +11:00
Richard Guenther
2b60792f2b builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
	* tree.c (build_int_cst_type): Likewise.
	(size_in_bytes): Don't call force_fit_type on the result.
	(int_fits_type_p): Use fit_double_type.
	* fold-const.c (fit_double_type): New function.
	(force_fit_type): Use it.
	* tree.h (fit_double_type): Export.

From-SVN: r120593
2007-01-08 22:17:43 +00:00
Jan Hubicka
61fcaeefb2 * MAINTAINERS: Add myself as i386 maintainer.
From-SVN: r120592
2007-01-08 22:13:52 +00:00
Jan Hubicka
a36aee1a6a * MAINTAINERS: Add myself as build system maintainer.
From-SVN: r120591
2007-01-08 22:11:02 +00:00
Jan Hubicka
4e2603091d * ipa.c (function_and_variable_visibility): Fix return type.
From-SVN: r120590
2007-01-08 22:02:26 +00:00
Jan Hubicka
fe1c75466e * tree-vectorizer.c (gate_increase_alignment): Fix return type.
From-SVN: r120589
2007-01-08 21:51:44 +00:00
Manuel López-Ibáñez
8444a5de7e overflow-warn-1.C: Fix testcase.
2007-01-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

testsuite/
	* g++.dg/warn/overflow-warn-1.C: Fix testcase.
	* g++.dg/warn/overflow-warn-3.C: Likewise.
	* g++.dg/warn/overflow-warn-4.C: Likewise.
	* g++.dg/warn/overflow-warn-5.C: Likewise.
	* g++.dg/warn/overflow-warn-6.C: Likewise.
	* g++.dg/warn/Woverflow-1.C: Likewise.
	* g++.dg/warn/Woverflow-2.C: Likewise.
	* g++.dg/warn/Woverflow-3.C: Likewise.
	* g++.dg/warn/multiple-overflow-warn-2.C: Likewise.

From-SVN: r120588
2007-01-08 21:04:26 +00:00
Steven G. Kargl
b251af9792 interface.c, [...]: Update Copyright years.
2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>

    * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
    iresolve.c, match.c:  Update Copyright years.  Whitespace.

From-SVN: r120587
2007-01-08 19:02:08 +00:00
Richard Guenther
7fb41a42a9 tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build the index.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type
	of offset to build the index.
	* tree-pretty-print.c (dump_generic_node): Don't build negated
	const just for printing.
	* c-pretty-print.c (pp_c_integer_constant): Likewise.
	* builtins.c (fold_builtin_int_roundingfn): Check if result
	fits the type by using force_fit_type and comparing the result.
	* predict.c (predict_loops): Use compare_tree_int for comparison.
	* tree.c (build_int_cst): Fall back to integer_type_node for
	NULL_TREE type.
	(build_int_cst_wide): Assert type is non-null.

	fortran/
	* trans-io.c (transfer_array_desc): Use build_int_cst instead
	of build_int_cstu.

From-SVN: r120586
2007-01-08 18:29:18 +00:00
Kai Tietz
738a52d3e2 * configure.in: Add support for an x86_64-mingw* target.
From-SVN: r120585
2007-01-08 18:04:46 +00:00
Roger Sayle
62511fb1ea trans-array.c (constant_array_constructor_p): New function to determine whether an array constructor consists only of...
* trans-array.c (constant_array_constructor_p): New function to
	determine whether an array constructor consists only of constant
	elements, and if so return it's size.
	(gfc_build_constant_array_constructor): Construct a statically
	initialized gfortran array for a given EXPR_ARRAY.
	(gfc_trans_constant_array_constructor): Efficiently scalarize
	a constant array constructor.
	(gfc_trans_array_constructor):  Tidy up use of CONST_STRING.
	Special case scalarization of constant array constructors, all of
	whose elements are specified, using constant_array_constructor_p 
	and gfc_trans_constant_array_constructor.
	(gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
	before adding it to index, to avoid creating a NON_LVALUE_EXPR.

	* gfortran.dg/array_constructor_14.f90: New test case.
	* gfortran.dg/vect/vect-5.f90: Update test for improved alignment.

From-SVN: r120584
2007-01-08 17:56:37 +00:00
Roberto Costa
f255541fb7 Better handling of COND_EXPRs in rhs
From-SVN: r120581
2007-01-08 13:52:42 +00:00
Jan Hubicka
feb8476ac4 tree-ssa-forwprop.c (forward_propagate_into_cond, [...]): Release defs of propagated statement.
* tree-ssa-forwprop.c (forward_propagate_into_cond,
	tree_ssa_forward_propagate_single_use_va): Release defs of propagated
	statement.

From-SVN: r120580
2007-01-08 13:13:09 +00:00
Richard Guenther
31ab1cc9db re PR tree-optimization/23603 (VRP does not say range for a in a = b == c; is [0,1])
2007-01-08  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/23603
        * tree-vrp.c (set_value_range_to_truthvalue): New function.
        (extract_range_from_binary): Fall back to truthvalue instead of
        varying for TRUTH_*_EXPR.
        (extract_range_from_comparison): Fall back to truthvalue instead of
        varying.
        (vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF
        if all visited PHI values were constant.

        * gcc.dg/tree-ssa/vrp31.c: New testcase.
        * gcc.dg/tree-ssa/vrp32.c: Likewise.

From-SVN: r120578
2007-01-08 11:20:00 +00:00
Jan Hubicka
151e6f2437 cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
* cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
	(cgraph_analyze_function): break out from ...
	(cgraph_finalize_compilation_unit): ... here.
	(cgraph_expand_function): Remove forgoten commented out line.
	(cgraph_optimize): Analyze functions.

From-SVN: r120577
2007-01-08 11:18:40 +00:00
Jan Hubicka
f4b3ca7277 tree-pas.h (TODO_remove_function): New flag.
* tree-pas.h (TODO_remove_function): New flag.
	(TODO_update*): Renumber.
	(pass_ipa_increase_alignment,
	pass_ipa_function_and_variable_visibility): New passes.
	* cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c
	(cgraph_function_and_variable_visibility): Move to ipa.c
	(cgraph_optimize): Don't call cgraph_function_and_variable_visibility,
	cgraph_increase_alignment.
	* ipa-inline.c (cgraph_decide_inlining): Don't push timevar.
	(cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before
	calling tree-inline.
	(cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes.
	(pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions
	* tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c
	(gate_increase_alignment): New function.
	(pass_ipa_increase_alignment): New pass.
	* ipa.c: Inline tree-pass.h and timevar.h
	(function_and_variable_visibility): Move here from cgraphunit.c
	* tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions.
	* passes.c (init_optimization_passes): Add the two new passes.
	(execute_todo): Handle cgraph_remove_functions.

From-SVN: r120576
2007-01-08 11:13:14 +00:00
Nick Clifton
2fe2972995 * config/frv/predicates.md (reg_or_0_operand): Accept CONST_DOUBLEs.
From-SVN: r120574
2007-01-08 09:45:55 +00:00
Ralf Corsepius
152167d5d9 rtems.h, t-rtems: New.
* config/bfin/rtems.h, config/bfin/t-rtems: New.
	* config.gcc: Add bfin*-rtems*.

From-SVN: r120573
2007-01-08 10:33:47 +01:00
Mark Shinwell
00c8e9f613 c.opt: Add -flax-vector-conversions.
gcc/
	* c.opt: Add -flax-vector-conversions.
	* c-typeck.c (convert_for_assignment): Pass flag to
	vector_types_convertible_p to allow emission of note.
	(digest_init): Likewise.
	(comptypes_internal): Use vector_types_convertible_p.
	* c-opts.c: Handle -flax-vector-conversions.
	* c-common.c (flag_lax_vector_conversions): New.
	(vector_types_convertible_p): Unless -flax-vector conversions
	has been passed, disallow conversions between vectors with
	differing numbers of subparts and/or element types.  If such
	a conversion is disallowed, possibly emit a note on the first
	occasion only to inform the user of -flax-vector-conversions.
	The new last argument specifies this.
	* c-common.h (flag_lax_vector_conversions): New.
	(vector_types_convertible_p): Add extra argument.
	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
	char_type_node for V*QI type vectors.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
	Update to satisfy new typechecking rules.
	* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge.
	* doc/invoke.texi (C Dialect Options): Document
	-flax-vector-conversions.

	gcc/cp/
	* call.c (standard_conversion): Pass flag to
	vector_types_convertible_p to disallow emission of note.
	* typeck.c (convert_for_assignment): Pass flag to
	vector_types_convertible_p to allow emission of note.
	(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
	to disallow emission of note.

	gcc/testsuite/
	* gcc.target/i386/20020531-1.c: Use "char" not "unsigned char"
	in __v8qi typedef.
	* gcc.target/powerpc/altivec-vec-merge.c (foo): Add casts.
	* gcc.dg/simd-1.c: Update dg-error directives to reflect new
	compiler behaviour.
	* gcc.dg/simd-5.c: Likewise.
	* gcc.dg/simd-6.c: Likewise.
	* g++.dg/conversion/simd1.C: Likewise.
	* g++.dg/conversion/simd3.C: Likewise.
	* g++.dg/ext/attribute-test-2.C (data): Add "vs" member.
	(main): Use it.

From-SVN: r120572
2007-01-08 09:25:07 +00:00
Mark Shinwell
46e3b90f7e re PR tree-optimization/29877 (out of SSA (TER) extends variable life of variable beyond original declared)
PR tree-optimization/29877
	gcc/
	* tree-ssa-ter.c (is_replaceable_p): Deem assignments with
	a register variable on the RHS to not be replaceable.

	gcc/testsuite/
	* gcc.dg/pr16194.c: Skip test entirely if we don't know the
	name of a hard register for the target concerned.  Adjust dg-error
	directives to cope with new behaviour of TER.

From-SVN: r120571
2007-01-08 08:33:42 +00:00
Chen Liqin
99fc25020d t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
	const_simm15, const_pow2, const_npow2): Added.
	* config/score/misc.md (insv, extv, extzv, movmemsi, 
	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
	* config/score/score.c (score_address_cost, score_select_cc_mode): 
	Added.
	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
	Update score_print_operand.
	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
	Adjust register allocate order and update some macro define.
	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
	mdx_block_move_straight, mdx_block_move_loop_head,
	mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
	mdx_block_move): Added.
	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
	mdp_limm): Updated and fix some bug and typo.
	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
	(movsf, movdf, doloop_end): Added.

From-SVN: r120570
2007-01-08 04:47:33 +00:00
Kazu Hirata
0979f01dee gfortran.texi: Fix typos.
From-SVN: r120567
2007-01-08 01:23:16 +00:00
Kazu Hirata
7a085dce62 arm.c, [...]: Fix comment typos.
* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
	config/arm/thumb2.md: Fix comment typos.
	* doc/extend.texi: Fix a typo.

From-SVN: r120566
2007-01-08 01:17:57 +00:00
GCC Administrator
cf7cf214f2 Daily bump.
From-SVN: r120564
2007-01-08 00:17:50 +00:00
Eric Christopher
a6ccdbabfd configure.ac: Check for __stack_chk_fail for darwin.
2007-01-07  Eric Christopher  <echristo@apple.com>

        * configure.ac: Check for __stack_chk_fail for darwin.
        * configure: Regenerate.

From-SVN: r120559
2007-01-07 23:53:21 +00:00
Manuel López-Ibáñez
16fd4d2d71 re PR c++/28986 (Failure to diagnose overflow in constant expression)
2007-01-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/28986
cp/
	* typeck.c (build_binary_op): Call overflow_warning if
	TREE_OVERFLOW_P is true for the result and not for any of the
	operands.

testsuite/
	* g++.dg/conversion/nullptr1.C: Added overflow warning.
	* g++.dg/warn/overflow-warn-1.C: New.
	* g++.dg/warn/overflow-warn-3.C: New.
	* g++.dg/warn/overflow-warn-4.C: New.
	* g++.dg/warn/overflow-warn-5.C: New.
	* g++.dg/warn/overflow-warn-6.C: New.
	* g++.dg/warn/Woverflow-1.C: New.
	* g++.dg/warn/Woverflow-2.C: New.
	* g++.dg/warn/Woverflow-3.C: New.
	* g++.dg/warn/multiple-overflow-warn-2.C: New.

From-SVN: r120558
2007-01-07 23:39:55 +00:00
Steven G. Kargl
636dff67dd decl.c, [...]: Update Copyright dates.
2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>

    * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
    convert.c:  Update Copyright dates.  Fix whitespace.

From-SVN: r120552
2007-01-07 19:39:52 +00:00
Bernhard Fischer
cd85e27a61 data.c (gfc_assign_data_value): Fix whitespace.
2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>

        * data.c (gfc_assign_data_value): Fix whitespace.

From-SVN: r120551
2007-01-07 17:46:09 +01:00
Bernhard Fischer
dbfd1e0108 trans-array.c (gfc_trans_create_temp_array, [...]): Commentary typo fix.
fortran/ChangeLog

2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>

        * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
        Commentary typo fix.

From-SVN: r120550
2007-01-07 17:40:42 +01:00
Bernhard Fischer
be58af47f2 re PR fortran/27698 (subroutine _foo draws "unclassifiable statement" instead of a useful error.)
fortran/ChangeLog

2007-01-03  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/27698
        * match.c (gfc_match_name): Print diagnostics for invalid character
        in names.


testsuite/ChangeLog

2007-01-03  Bernhard Fischer  <aldot@gcc.gnu.org>

        PR fortran/27698
        * gfortran.dg/invalid_name.f90: New test.
        * gfortran.dg/do_iterator.f90: Adjust pattern for expected error.
        * gfortran.dg/gomp/pr29759.f90: Ditto.

From-SVN: r120549
2007-01-07 17:23:45 +01:00
Richard Guenther
b881887e66 tree-vrp.c (extract_range_from_assert): CSE calls to compare_values where possible.
2007-01-07  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (extract_range_from_assert): CSE calls to
	compare_values where possible.
	(extract_range_from_unary_expr): Likewise.

From-SVN: r120547
2007-01-07 15:21:45 +00:00
Anatoly Sokolov
696e990bdb avr-protos.h (call_insn_operand): Delete prototype.
* config/avr/avr-protos.h (call_insn_operand): Delete prototype.
	* config/avr/avr.c (call_insn_operand): Delete function.
	* config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP
	instead of register number. Use predicates.
	* config/avr/predicates.md (const0_operand, reg_or_0_operand, 
	call_insn_operand): Add.

From-SVN: r120546
2007-01-07 06:45:24 +03:00
Steven G. Kargl
b7fdd4ed69 Fix whitespace in a table within a comment.
Fix whitespace in a table within a comment.  This is
wonderful example of why tabs are evil.

From-SVN: r120545
2007-01-07 03:26:06 +00:00
Brooks Moses
0d6298951b Corrected changelog entry dates from 2006 to 2007.
From-SVN: r120543
2007-01-06 16:55:11 -08:00
Steven G. Kargl
65f8144a80 [multiple changes]
2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>

        * array.c, bbt.c, check.c:  Update copyright years.  Whitespace.


2006-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>

        * gfortran.dg/present_1.f90:  Update error message.

From-SVN: r120542
2007-01-07 00:28:29 +00:00
GCC Administrator
ae82248d45 Daily bump.
From-SVN: r120540
2007-01-07 00:18:13 +00:00
Paolo Carlini
28ecbda59d 2007-01-06 Paolo Carlini <pcarlini@suse.de>
* Fix typo in ChangeLog.

From-SVN: r120533
2007-01-06 22:40:58 +00:00
Paolo Carlini
6db1de4c87 re PR libstdc++/30365 (No possibility to disable large file support (LFS))
2007-01-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30365
	* crossconfig.m4 (case *-linux*): Run crossconfig.m4.
	* configure: Regenerate.

From-SVN: r120531
2007-01-06 22:38:07 +00:00
Steven G. Kargl
74e3459c06 arith.c: Update copyright years.
* arith.c: Update copyright years.  Whitespace.

From-SVN: r120530
2007-01-06 21:53:03 +00:00
Bruce Korb
2f82a97b02 Set SKIP_TEST flag if we are not to run a test.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>

From-SVN: r120529
2007-01-06 20:02:22 +00:00
Bruce Korb
401be4b658 Use fnmatch for name matching.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>

From-SVN: r120528
2007-01-06 18:03:50 +00:00
Jan Hubicka
2dee695bfc tree-pass.h (pass_build_cgraph_edges): Declare.
* tree-pass.h (pass_build_cgraph_edges): Declare.
	* cgraphunit.c (record_refernece): Move to cgraphbuild.c
	(visited_nodes): Remove.
	(cgraph_create_edges): Move to cgraphbuild.c; rename to
	build_cgrpah_edges; make visited_nodes local.
	(cgraph_process_new_functions): DO not call initialize_inline_failed.
	(record_references_in_initializer): Move to cgraphbuild.c
	(initialize_inline_failed, rebuild_cgraph_edges,
	pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
	(verify_cgraph_node): Make visited_nodes local.
	(cgraph_analyze_function): Do not call cgraph_create_edges and
	initialize_inline_failed.
	(cgraph_expand_function): Do not call cgraph_lower_function;
	assert that function is already lowered.
	* Makefile.in (cgraphbuild.o): New.
	* passes.c (init_optimization_passes): Add pass_build_cgraph_edges
	at the end of lowering passes.

From-SVN: r120527
2007-01-06 17:58:40 +00:00