Commit graph

73948 commits

Author SHA1 Message Date
Mike Stump
1a1d091751 re PR target/25908 (vtables with vague linkage is not being marked as vague on darwin)
PR darwin/25908
	* decl2.c (import_export_decl): Fix ABI breakage on darwin.

	* g++.dg/abi/key2.C: Add.

From-SVN: r111632
2006-03-02 02:20:54 +00:00
Roger Sayle
011daa767e trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional INVERT argument to invert the sense of the WHEREMASK argument.
* trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional
	INVERT argument to invert the sense of the WHEREMASK argument.
	Remove unneeded code to AND together a list of masks.
	(generate_loop_for_rhs_to_temp): Likewise.
	(gfc_trans_assign_need_temp): Likewise.
	(gfc_trans_forall_1): Likewise.
	(gfc_evaluate_where_mask): Likewise, add a new INVERT argument
	to specify the sense of the MASK argument.
	(gfc_trans_where_assign): Likewise.
	(gfc_trans_where_2): Likewise.  Restructure code that decides
	whether we need to allocate zero, one or two temporary masks.
	If this is a top-level WHERE (i.e. the incoming MAKS is NULL),
	we only need to allocate at most one temporary mask, and can
	invert it's sense to provide the complementary pending execution
	mask.  Only calculate the size of the required temporary arrays
	if we need any.
	(gfc_trans_where): Update call to gfc_trans_where_2.

From-SVN: r111630
2006-03-02 00:24:45 +00:00
GCC Administrator
7362e4524f Daily bump.
From-SVN: r111628
2006-03-02 00:18:33 +00:00
Jakub Jelinek
d213accd17 dwarf2.h (DW_TAG_condition, [...]): New constants from DWARF 3.
* dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
	from DWARF 3.
	(DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
	DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
	DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
	DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
	DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
	(DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
	(DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
	DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
	(DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
	DW_DS_leading_separate, DW_DS_trailing_separate): New.
	(DW_END_default, DW_END_big, DW_END_little): New.
	(DW_END_lo_user, DW_END_hi_user): Define.
	(DW_LNE_lo_user, DW_LNE_hi_user): Define.
	(DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
	(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
	DW_LANG_D): New.

From-SVN: r111620
2006-03-02 00:26:13 +01:00
Diego Novillo
18cd8a03f8 tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
* tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
	Update all users.
	* tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
	Update all users.
	(TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
	Update all users.
	* tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
	Update all users.
	* tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
	to 'symbol_mem_tag'.
	Update all users.
	* doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
	rename.

From-SVN: r111617
2006-03-01 17:35:42 -05:00
Paul Thomas
61321991ff re PR fortran/26393 (ICE with function returning variable lenght array)
2006-03-01  Paul Thomas  <pault@gcc.gnu.org>

	* iresolve.c (gfc_resolve_dot_product):  Remove any difference in
	treatment of logical types.
	* trans-intrinsic.c (gfc_conv_intrinsic_dot_product):  New function. 

	PR fortran/26393
	* trans-decl.c (gfc_get_symbol_decl): Extend condition that symbols
	must be referenced to include unreferenced symbols in an interface
	body. 

	PR fortran/20938
	* trans-array.c (gfc_conv_resolve_dependencies): Add call to
	gfc_are_equivalenced_arrays.
	* symbol.c (gfc_free_equiv_infos, gfc_free_equiv_lists): New
	functions. (gfc_free_namespace): Call them.
	* trans-common.c (copy_equiv_list_to_ns): New function.
	(add_equivalences): Call it.
	* gfortran.h: Add equiv_lists to gfc_namespace and define
	gfc_equiv_list and gfc_equiv_info.
	* dependency.c (gfc_are_equivalenced_arrays): New function.
	(gfc_check_dependency): Call it.
	* dependency.h: Prototype for gfc_are_equivalenced_arrays.

2006-03-01  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/logical_dot_product.f90: New test. 

	PR fortran/26393
	* gfortran.dg/used_interface_ref.f90: New test.

	PR fortran/20938
	* gfortran.dg/dependency_2.f90: New test.
	* gfortran.fortran-torture/execute/where17.f90: New test.
	* gfortran.fortran-torture/execute/where18.f90: New test.
	* gfortran.fortran-torture/execute/where19.f90: New test.
	* gfortran.fortran-torture/execute/where20.f90: New test.

From-SVN: r111616
2006-03-01 22:24:19 +00:00
Roger Sayle
8acb1b3d1c builtins.c (fold_builtin_copysign): Delete unreachable code.
* builtins.c (fold_builtin_copysign): Delete unreachable code.

From-SVN: r111615
2006-03-01 21:39:28 +00:00
Mike Stump
6d69fe271f Fixup whitespace a litte
From-SVN: r111612
2006-03-01 19:57:38 +00:00
Andrew Pinski
c446d1a76e re PR target/25761 (-fpic (not -fPIC) does not work with i686-darwin)
2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/25761
        * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
        MACHO_DYNAMIC_NO_PIC_P.
        (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.

From-SVN: r111611
2006-03-01 11:28:22 -08:00
Andrew Pinski
ab0ff8041e re PR target/26389 (Darwin does not support -fsection-anchors)
2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/26389
        * config/darwin-protos.h (darwin_asm_output_anchor):
        Declare.
        * config/darwin-sections.def (cstring_section):
        Add SECTION_MERGE to the flags.
        (literal4_section): Likewise.
        (literal8_section): Likewise.
        (objc_selector_refs_section): Likewise.
        (objc_cls_refs_section): Likewise.
        * config/darwin.c (darwin_asm_output_anchor): New
        function.
        * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.

From-SVN: r111609
2006-03-01 11:12:22 -08:00
Daniel Berlin
607f460c8b re PR tree-optimization/26443 (ICE in add_virtual_operand, at tree-ssa-operands.c:1867)
2006-03-01  Daniel Berlin  <dberlin@dberlin.org>
 
	Fix PR tree-optimization/26443
	* tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
	to todo and PROP_tmt_usage to properties_destroyed.
	* tree-ssa-ccp.c (pass_ccp): Ditto.
	(pass_store_ccp): Ditto.
	* tree-ssa-dom.c (pass_dominator): Ditto.

From-SVN: r111608
2006-03-01 17:46:56 +00:00
H.J. Lu
54a1703906 re PR libgcj/17311 (Wrong libgcc_s.so.1 is used by lt-gij)
2006-03-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/17311
	* ltmain.sh: Don't use "$finalize_rpath" for compile.

From-SVN: r111607
2006-03-01 09:39:35 -08:00
Paolo Carlini
a6f663e431 lwg-active.html, [...]: Import Revision 41.
2006-03-01  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 41.

From-SVN: r111606
2006-03-01 16:25:09 +00:00
Diego Novillo
02075bb20b tree-ssa-operands.c: Cleanup whitespace.
* tree-ssa-operands.c: Cleanup whitespace.
	(get_asm_expr_operands): Move before first invocation.
	(get_indirect_ref_operands): Likewise.
	(get_tmr_operands): Likewise.
	(get_call_expr_operands): Likewise.
	(append_def): Likewise.
	(append_use): Likewise.
	(append_v_may_def): Likewise.
	(append_v_must_def): Likewise.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(add_stmt_operand): Likewise.
	(add_virtual_operand): Likewise.
	(build_ssa_operands): Likewise.

From-SVN: r111604
2006-03-01 11:07:47 -05:00
Tom Tromey
2bb6e0cefe re PR libgcj/24321 (instanceof erroneously causes class initialization)
PR java/24321:
	* testsuite/libjava.lang/pr24321.java: New file.
	* testsuite/libjava.lang/pr24321.out: New file.
	* java/lang/natClass.cc (isInstance): Don't initialize class.
	(isAssignableFrom): Likewise.

From-SVN: r111603
2006-03-01 16:01:34 +00:00
Andrew Pinski
1809ff6b9a re PR middle-end/26022 (ICE with references and virtual functions)
2006-01-23  Andrew Pinski  <pinskia@physics.uc.edu>

	PR middle-end/26022
	Revert:
	PR middle-end/24437
	* tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
	with a call expr to ...
	* fold-const.c (fold_ternary) <case CALL_EXPR>: Here.

2006-02-28  Andrew Pinski  <pinskia@physics.uc.edu>

	PR middle-end/26022
	* g++.dg/opt/return-slot1.C: New test.

From-SVN: r111602
2006-03-01 07:15:38 -08:00
Roger Sayle
c10bc6e9a0 dependency.c (gfc_is_same_range): Compare the stride...
* dependency.c (gfc_is_same_range): Compare the stride, lower and
	upper bounds when testing array reference ranges for equality.

	(gfc_check_dependency): Fix indentation whitespace.
	(gfc_check_element_vs_element): Likewise.
	(gfc_dep_resolver): Likewise.

From-SVN: r111601
2006-03-01 14:40:28 +00:00
Diego Novillo
6578c101b5 tree-vrp.c (extract_range_from_assert): Remove special handling for types with super-types.
* tree-vrp.c (extract_range_from_assert): Remove special
	handling for types with super-types.

From-SVN: r111600
2006-03-01 07:44:57 -05:00
Jerry DeLisle
c1fa1ae9be re PR libfortran/26136 (List directed input with underfilled (logicals) array read incorrectly)
2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26136
	* gfortran.dg/namelist_23.f90: New test.

From-SVN: r111598
2006-03-01 06:14:32 +00:00
Jerry DeLisle
c9f15d9c0e re PR libfortran/26136 (List directed input with underfilled (logicals) array read incorrectly)
2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26136
	* io/io.h: Add flag for reading from line_buffer.
	* io/list_read.c (l_push_char): New function to save namelist
	input when reading logicals.
	(free_line): New function to free line_buffer memory.
	(next_char): Added feature to read from line_buffer.
	(read_logical): Use new functions to test for '=' after reading a
	logical value, checking for possible variable name.
	(namelist_read): Use free_line when all done.

From-SVN: r111597
2006-03-01 06:04:45 +00:00
Ben Elliston
ec09c26e3a config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* and powerpc64-*-linux*...
* config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
	and powerpc64-*-linux* configurations.
	* config/t-dfprules: New file.

From-SVN: r111596
2006-03-01 16:18:57 +11:00
Ben Elliston
0eafb3ece6 mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
* mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
	Compile dfp-bit.c from the source directory using -DWIDTH and
	$DFP_CFLAGS to control the compilation of that file, rather than
	generating width-specific versions in the build directory.
	* Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
	(LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].

From-SVN: r111595
2006-03-01 16:14:24 +11:00
Zack Weinberg
cccb0908dd md.texi: Avoid use of @headitem so that makeinfo <4.7 continues to work.
* doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
	continues to work.

From-SVN: r111594
2006-03-01 04:43:47 +00:00
GCC Administrator
8d6322e699 Daily bump.
From-SVN: r111590
2006-03-01 00:17:42 +00:00
Eric Christopher
31abac077d darwin.h (ENABLE_STACK_EXECUTE): Define.
2006-02-28  Eric Christopher  <echristo@apple.com>

        * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
        Set up IN_LIBGCC definition of TARGET_64BIT.
        * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.

From-SVN: r111584
2006-03-01 00:02:14 +00:00
Andreas Tobler
b295c471c2 unwindtest.cc (closure_test_fn): Mark cif, args and userdata unused.
2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
	args and userdata unused.
	(closure_test_fn1): Mark cif and userdata unused.
	(main): Remove unused res.

From-SVN: r111583
2006-03-01 00:18:01 +01:00
Andreas Tobler
9fdeb13b0e call.exp: Adjust FSF address.
2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
	-O2, -O3, -Os and the warning flags -W -Wall.
	* testsuite/libffi.special/special.exp: Likewise.
	* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
	unused parameter unused for gcc or else do nothing.
	* testsuite/libffi.special/ffitestcxx.h: Likewise.
	* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
	and userdata unused.
	* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
	* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
	* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
	* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
	* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
	* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
	* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
	* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
	* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
	* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
	* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
	* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
	* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
	* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
	* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
	* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
	* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
	* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
	* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
	* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
	* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
	* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
	* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
	* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
	void* to avoid compiler warning.
	(main): Likewise.
	(cls_struct_align_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
	Likewise.
	* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
	* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
	* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
	and data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
	data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
	and data unused.
	(main): Cast res_call to silence gcc.
	* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
	userdata unused.
	(cls_ret_schar_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
	userdata unused.
	(cls_ret_sint_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
	userdata unused.
	(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
	userdata unused.
	(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
	userdata unused.
	(cls_ret_uint_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
	and userdata unused.
	* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
	userdata unused.
	(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
	* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
	* testsuite/libffi.call/float1.c (main): Remove unused variable i.
	Cleanup white spaces.
	* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
	* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
	cif and userdata unused.
	* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
	Likewise.
	* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
	* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
	formatters to silence gcc.
	(B_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
	unused.
	* testsuite/libffi.call/nested_struct4.c: Mention related PR.
	(B_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
	unused.
	* testsuite/libffi.call/nested_struct6.c: Mention related PR.
	(B_gn): Mark cif and userdata unused.
	* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
	unused.
	* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
	* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
	* testsuite/libffi.call/problem1.c (stub): Likewise.
	* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
	gcc.
	* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
	in the last commit for this test case in the test case itself.
	* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
	unused.
	* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
	* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
	* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
	* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
	* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
	* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.

From-SVN: r111582
2006-03-01 00:12:00 +01:00
Roger Sayle
c457fcec8e re PR tree-optimization/14752 ([tree-ssa] "~a" should be changed to "a" if used in the condition of an if statement)
PR middle-end/14752
	* c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
	BIT_XOR_EXPR, BIT_AND_EXPR>: Delete.  Let fold optimize these
	cases via the construction of "expr != 0".

	* gcc.dg/fold-eqandshift-2.c: New test case.

From-SVN: r111575
2006-02-28 21:31:29 +00:00
Steven Bosscher
63292ebfb4 alias.c (alias_invariant, [...]): Remove.
* alias.c (alias_invariant, alias_invariant_size): Remove.
	(record_base_value): Remove.
        (memrefs_conflict_p): Don't look at alias_invariant.
        (end_alias_analysis): Don't free it.
        * alias.h (record_base_value): Remove prototype.

From-SVN: r111574
2006-02-28 21:01:20 +00:00
Paolo Bonzini
d3b7269024 rtl.h (truncated_to_mode): Declare it.
* rtl.h (truncated_to_mode): Declare it.
	(struct rtl_hooks): Add reg_truncated_to_mode hook.
	* rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
	(RTL_HOOKS_INITIALIZER): Include it.
	* rtlhooks.c (reg_truncated_to_mode_general): New function.
	* combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
	reg_truncated_to_mode.
	* rtlanal.c (truncated_to_mode): Define it.
	* simplify-rtx.c (simplify_unary_operation_1): Use it.

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>

From-SVN: r111573
2006-02-28 20:32:20 +00:00
Jeff Law
e5c7f9f582 tree-chrec.c (chrec_convert_aggressive): Do not eliminate conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover...
* tree-chrec.c (chrec_convert_aggressive): Do not eliminate
        conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
        the range allowed by TYPE_PRECISION.

From-SVN: r111568
2006-02-28 09:49:12 -07:00
Jeff Law
ea45681a7a tree.h (strct phi_arg_d): Remove unused NONZERO field.
* tree.h (strct phi_arg_d): Remove unused NONZERO field.

From-SVN: r111567
2006-02-28 09:44:33 -07:00
Richard Guenther
e2f949562c pr26421.c: Fix testcase to force struct decomposition.
2006-02-28  Richard Guenther  <rguenther@suse.de>

        * gcc.dg/tree-ssa/pr26421.c: Fix testcase to force struct
        decomposition.

From-SVN: r111566
2006-02-28 14:53:36 +00:00
Richard Guenther
6ff68ac318 re PR bootstrap/26055 (libgcc-math declaration of __isinf conflicts with system header, fails bootstrap)
2006-02-28  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/26055
	Revert
	* configure.ac: Disable libgcc-math if we cannot mix
	declaration of __isinf and math.h inclusion.
	* configure: Re-generate.

	* i386/Makefile.am: Use -std=c99, do not use -ffinite-math-only,
	do not define __NO_MATH_INLINES.
	* i386/Makefile.in: Re-generate.
	* include/math_private.h (__atanf): Declare.
	(__scalbnf): Likewise.
	(__floorf): Likewise.
	(__isinff): Likewise.
	(__scalbn): Likewise.
	(__floor): Likewise.
	(fabs): Likewise.
	(fabsf): Likewise.
	* flt-32/e_acosf.c: Do not include math.h
	* flt-32/s_isinff.c: Likewise.
	* flt-32/k_tanf.c: Likewise.
	* flt-32/e_sqrtf.c: Likewise.
	* flt-32/e_asinf.c: Likewise.
	* flt-32/k_cosf.c: Likewise.
	* flt-32/k_sinf.c: Likewise.
	* flt-32/s_floorf.c: Likewise.
	* flt-32/s_tanf.c: Likewise.
	* flt-32/s_atanf.c: Likewise.
	* flt-32/s_cosf.c: Likewise.
	* flt-32/e_atan2f.c: Likewise.
	* flt-32/e_powf.c: Likewise.
	* flt-32/s_sinf.c: Likewise.
	* flt-32/e_rem_pio2f.c: Likewise.
	* flt-32/s_scalbnf.c: Likewise.
	* flt-32/e_logf.c: Likewise.
	* flt-32/e_log10f.c: Likewise.
	* flt-32/k_rem_pio2f.c: Likewise.
	* flt-32/e_expf.c: Likewise.  Use __builtin_isless and
	__builtin_isgreater.
	* dbl-64/s_floor.c: Do not include math.h.
	* dbl-64/e_log10.c: Likewise.
	* dbl-64/k_rem_pio2.c: Likewise.
	* dbl-64/s_atan.c: Likewise.
	* dbl-64/s_scalbn.c: Likewise.
	* dbl-64/s_isinf.c: Likewise.
	* dbl-64/s_tan.c: Likewise.
	* dbl-64/e_rem_pio2.c: Likewise.  Avoid uninitialized variable
	warning.
	* dbl-64/mpa.c: Likewise.

From-SVN: r111563
2006-02-28 11:29:41 +00:00
Thomas Koenig
8cd25827df trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): If the mask expression exists and has rank 0...
2006-02-28  Thomas Koenig  <Thomas.Koenig@online.de>

	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc):
	If the mask expression exists and has rank 0, enclose the
	generated loop in an "if (mask)".  Put the default
	initialization into the else branch.

2006-02-28  Thomas Koenig  <Thomas.Koenig@online.de>

	* scalar_mask_1.f90:  Add tests for maxloc with scalar mask.

From-SVN: r111562
2006-02-28 11:12:22 +00:00
Mark Mitchell
b7ded1e0c5 * gennews (files): Update for GCC 4.1.
From-SVN: r111518
2006-02-28 08:10:09 +00:00
Dorit Nuzman
7ffe0f0ddd re PR tree-optimization/26419 (-ftree-vectorizer-verbose=n documentation is terse)
PR tree-optimization/26419
        * doc/invoke.texi (ftree-vectorizer-verbose): Add information on
        values of n.

From-SVN: r111516
2006-02-28 07:41:47 +00:00
Zack Weinberg
3fa1b0e571 * doc/md.texi: Fix typo in previous change.
From-SVN: r111513
2006-02-28 06:04:09 +00:00
Kenneth Zadeck
75743f02d9 Add an entry for the removal of df.c.
From-SVN: r111509
2006-02-28 14:54:01 +11:00
Zack Weinberg
f38840db9b * rtl.def (define_constraint, define_register_constraint)
(define_memory_constraint, define_address_constraint): New MD forms.
	* gensupport.c (process_rtx): Put define_constraint etc on the
	predicate queue.
	* genpreds.c (process_define_predicate): Adjust comment.  Validate
	the name, and call validate_exp to validate the expression.
	(mark_mode_tests, write_extract_subexp): Can assume correct input.
	(write_predicate_expr): Likewise.  NAME argument no longer necessary;
	all callers changed.
	(validate_exp, needs_variable, struct constraint_data)
	(constraints_by_letter_table, first_constraint, last_constraint_ptr)
	(FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
	(const_dbl_constraints, constraint_max_namelen)
	(have_register_constraints, have_memory_constraints)
	(have_address_constraints, have_address_constraints)
	(have_extra_constraints, have_const_int_constraints)
	(have_const_dbl_constraints, mangle, add_constraint)
	(process_define_constraint, process_define_register_constraint)
	(write_enum_constraint_num, write_lookup_constraint)
	(write_insn_constraint_len, write_regclass_for_constraint)
	(write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
	(write_insn_extra_memory_constraint)
	(write_insn_extra_address_constraint)
	(write_satisfies_constraint_fns): New.
	(write_tm_preds_h): If we have new-style constraint definitions,
	prototype the functions generated from them, and define the
	old constraint interface (still used by generic code) in terms of
	those functions.
	(write_insn_preds_c): If we have new-style constraint definitions,
	generate all relevant functions from those definitions.
	(main): Handle define_constraint etc.
	* genoutput.c (struct constraint_data, indep_constraints)
	(mdep_constraint_letters, constraints_by_letter_table, note_constraint)
	(mdep_constraint_len): New data structures and functions, defined
	#ifdef USE_MD_CONSTRAINTS.
	(check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
	(validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
	use new logic to validate operand constraints against constraint
	definitions.
	(main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
	defined.
	* defaults.h: If none of the old-style constraint macros are
	defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
	old-style macros; and poison REG_CLASS_FROM_LETTER,
	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
	EXTRA_CONSTRAINT.
	* recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
	* doc/md.texi: Document new constraint-definition mechanism and the
	C interface it provides.  Remove references to old mechanism
 	elsewhere in the document.
	(Machine Constraints): Use pathnames relative to gcc directory,
	i.e. config/ARCH/FILE.  Change i386 section to refer to
	config/i386/predicates.md; update that section to match docstrings.
	* doc/tm.texi: Move all documentation of the old constraint-
	definition macros to their own section, clearly mark as obsolete.

	* config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
	(u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
	definitions.
	* config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
	(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
	* config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
	constraint strings.
	(splits and peepholes): Use satisfies_constraint_*.
	* config/i386/i386.c (memory_address_length)
	(ix86_attr_length_immediate_default): Use satisfies_constraint_*.

From-SVN: r111508
2006-02-28 03:28:18 +00:00
Jerry DeLisle
167f0c7e07 re PR libfortran/26464 (Runtime I/O error/invald argument on READ)
2006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26464
	* gfortran.dg/backspace_5.f: New test.
	* gfortran.dg/backspace_6.f: New test.

From-SVN: r111507
2006-02-28 02:11:47 +00:00
Jerry DeLisle
9985dd8aaf re PR libfortran/26464 (Runtime I/O error/invald argument on READ)
2006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26464
	* io/file_pos.c (st_backspace): Flush and truncate file
	when in AFTER_ENDFILE condition.
	* io/transfer.c (st_read_done): Remove flush, no longer needed.

From-SVN: r111506
2006-02-28 02:07:00 +00:00
Mark Mitchell
f2b5129c6d re PR other/26473 (cross-building installs ssp headers to $(includedir))
PR 26473
	* configure.ac (ACX_NONCANONICAL_TARGET): Use it.
	* Makefile.am (target_noncanonical): Define.
	(libsubincludedir): New variable.
	(nobase_libsubinclude_HEADERS): Likewise.
	(nobase_include_HEADERS): Remove.
	* configure: Regenerated.
	* Makefile.in: Likewise.
	* aclocal.m4: Regenerated.

From-SVN: r111501
2006-02-28 00:41:19 +00:00
GCC Administrator
36b2c8f2ce Daily bump.
From-SVN: r111498
2006-02-28 00:17:53 +00:00
Daniel Berlin
e3e868f62e lambda-code.c (can_convert_to_perfect_nest): Allow any type of
2006-02-27  Daniel Berlin  <dberlin@dberlin.org>

	* lambda-code.c (can_convert_to_perfect_nest): Allow any type of

From-SVN: r111489
2006-02-27 17:38:14 +00:00
Jakub Jelinek
754e45a867 re PR other/26208 (Serious problem with unwinding through signal frames)
PR other/26208
	* unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
	(extract_cie_info): Handle S flag in augmentation string.
	(execute_cfa_program): If context->signal_frame, execute also
	fs->pc == context->ra instructions.
	(uw_frame_state_for): If context->signal_frame, don't subtract one
	from context->ra to find FDE.
	(uw_update_context_1): Set context->signal_frame to
	fs->signal_frame.
	(_Unwind_GetIPInfo): New function.
	* unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
	* unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* unwind-sjlj.c (_Unwind_GetIPInfo): New function.
	* unwind-generic.h (_Unwind_GetIPInfo): New prototype.
	* unwind-compat.c (_Unwind_GetIPInfo): New function.
	* libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
	* config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
	* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
	* config/i386/linux-unwind.h (x86_fallback_frame_state,
	x86_64_fallback_frame_state): Set fs->signal_frame.
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
	(MD_FROB_UPDATE_CONTEXT): Define unconditionally.
	(frob_update_context): Likewise.  Workaround missing S flag in
	Linux 2.6.12 - 2.6.16 kernel vDSOs.
	* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
	Remove the psw_addr + 1 hack.
libjava/
	* exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro.
	(HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through
	to throw.
	* include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
	* include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
libstdc++-v3/
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
	_Unwind_GetIPInfo instead of _Unwind_GetIP.

From-SVN: r111488
2006-02-27 18:26:26 +01:00
Daniel Berlin
6df11ca1be tree-ssa-structalias.c (get_constraint_for): Move code to deal with aggregates here.
2006-02-27  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c (get_constraint_for): Move code to deal
	with aggregates here.
	(find_func_aliases): Remove code for &<aggregate> from here.

From-SVN: r111487
2006-02-27 17:25:17 +00:00
Kenneth Zadeck
79ae22000f The file was empty.
From-SVN: r111486
2006-02-27 14:18:23 +00:00
Paolo Carlini
3969aacb01 re PR libstdc++/14866 (27_io/ios_base/sync_with_stdio/1.cc is broken on simulator testglue targets)
2006-02-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14866
	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Redirect
	stderr instead.

From-SVN: r111475
2006-02-27 12:39:27 +00:00
Paolo Carlini
6e938053d4 re PR libstdc++/14866 (27_io/ios_base/sync_with_stdio/1.cc is broken on simulator testglue targets)
2006-02-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14866
	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Redirect
	stderr instead.

From-SVN: r111474
2006-02-27 12:38:49 +00:00