Commit Graph

101827 Commits

Author SHA1 Message Date
Richard Guenther
e093ffe3c2 re PR tree-optimization/45071 (ICE: tree check: expected ssa_name, have integer_cst in inhibit_phi_insertion, at tree-ssa-pre.c:3278 with -ftree-pre -ftree-vectorize)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45071
	* tree-ssa-sccvn.c  (vn_reference_maybe_forwprop_address): Always
	adjust op->opcode.

	* gcc.dg/pr45071.c: New testcase.

From-SVN: r162534
2010-07-26 12:48:37 +00:00
Tobias Burnus
71ff73f3fb re PR fortran/45066 (ICE in namelist read in snapshot of 7/24/2010)
2010-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45066
        * trans-io.c (build_dt): Use NULL_TREE rather than NULL
        for call to transfer_namelist_element.
        * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
        for -fwhole-file.

2010-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45066
        * gfortran.dg/namelist_62.f90: New.

From-SVN: r162532
2010-07-26 12:30:45 +02:00
Tobias Burnus
aa622bf19f Add file forgotten in commit Rev. 162500
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40011
        * gfortran.dg/whole_file_21.f90: New.

From-SVN: r162531
2010-07-26 11:53:19 +02:00
Naveen.H.S
223a9d6445 configure.ac: Support all v850 targets.
* configure.ac: Support all v850 targets.
        * configure: Regenerate.

        * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
        save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
        save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
        save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
        save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
        save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
        save_r31, return_r31, save_interrupt, return_interrupt,
        save_all_interrupt, return_all_interrupt, L_save_r2_r31,
        L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
        L_save_##START##_r31c, L_callt_save_r31c: Updated as per the
        new ABI requirements.
        save_r6_r9, L_callt_save_r6_r9: Remove.
        * config/v850/predicates.md (even_reg_operand, disp23_operand,
        const_float_1_operand const_float_0_operand): New Predicates.
        (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
        pattern_is_ok_for_epilogue): Update as per the ABI requirements.
        * config/v850/t-v850: Update multilibs for new target variants.
        (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
        * config/v850/t-v850e: Likewise.
        * config/v850/v850.c (v850_issue_rate): New.
        (v850_strict_argument_naming): New.
        (function_arg): Modify to generate a different ABI.
        (print_operand): Update case 'z' to support float modes.
        (output_move_single): Modify to generate appropriate and better
        assembly.
        (v850_float_z_comparison_operator, v850_select_cc_mode,
        v850_float_nz_comparison_operator,  v850_gen_float_compare,
        v850_gen_compare): New functions to support comparison of
        float values.
        (ep_memory_offset): Add support for V850E2 targets.
        (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
        (INTERRUPT_REGPARM_NUM): Remove.
        (compute_register_save_size): Add extra case to save/restore
        long call.
        (use_prolog_function): New function to support prologue.
        (expand_prologue): Add support for V850E2 targets and modified
        as per the current ABI requirements.
        (expand_epilogue): Likewise.
        (construct_restore_jr): Modify based on TARGET_LONG_CALLS.
        (construct_save_jarl): Likewise.
        (construct_dispose_instruction): Update as per the current ABI
        requirements.
        (construct_prepare_instruction): Likewise.
        * config/v850/v850.h(TARGET_CPU_DEFAULT): Add target predefines.
        (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
        (CPP_SPEC): Updated to support v850e2 targets.
        (STRICT_ALIGNMENT): Modified.
        (FIRST_PSEUDO_REGISTER): Updated to add even registers.
        (FIXED_REGISTERS): Likewise.
        (CALL_USED_REGISTERS): Likewise.
        (CONDITIONAL_REGISTER_USAGE): Updated.
        (HARD_REGNO_MODE_OK): Updated.
        (reg_class): Updated to add even registers.
        (REG_CLASS_NAMES): Likewise.
        (REG_CLASS_CONTENTS): Likewise.
        (REGNO_REG_CLASS): Updated for CC registers.
        (REG_CLASS_FROM_LETTER): Added support for even registers.
        (REGNO_OK_FOR_BASE_P): Updated for CC registers.
        (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
        ARG_POINTER_REGNUM): Updated.
        (FUNCTION_ARG_ADVANCE): Define.
        (REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
        (OUTGOING_REG_PARM_STACK_SPACE): Remove.
        (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
        (GO_IF_LEGITIMATE_ADDRESS): Updated.
        (SELECT_CC_MODE): Define.
        (REGISTER_NAMES): Updated to add psw and fcc registers.
        (ADDITIONAL_REGISTER_NAMES): Updated.
        (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
        (JUMP_TABLES_IN_TEXT_SECTION): Updated.
        * config/v850/v850.md (define_constants): Define new constants.
        (type): Update store,bit1,macc,div,fpu and single attributes.
        (cpu): New attribute.
        (cc): Add set_z attribute.
        (unsign23byte_load, sign23byte_load, unsign23hword_load,
        sign23hword_load, 23word_load, 23byte_store, 23hword_store,
        23word_store): New instructions for 23-bit displacement load and
        store.
        (movqi_internal, movhi_internal): Update the attributes.
        (movsi, movsi_internal_v850e): Updated to support v850e2 targets.
        (movsi_internal_v850e, movsi_internal, movsf_internal): Update
        the attributes.
        (v850_tst1): Modified using CC_REGNUM.
        (tstsi): Remove.
        (cmpsi): Modified as define_expand from define_insn.
        (cmpsi_insn, cmpsf, cmpdf): New instructions.
        (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
        udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
        v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
        one_cmplsi2): Clobber the CC_REGNUM register.
        (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
        v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
        v850_not1_3, xorsi3, one_cmplsi2): Update the attributes
        accordingly.
        (setf_insn, set_z_insn, set_nz_insn): New instructions for
        v850e2v3 target.
        (movsicc_normal_cc, movsicc_reversed_cc): New instructions.
        (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
        targets.
        (sasf_1, sasf_2): Remove.
        (sasf): New instruction.
        (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
        targets. CC_REGNUM register is clobbered and attributes are
        updated.
        (branch_z_normal, branch_z_invert, branch_nz_normal,
        branch_nz_invert): New branch related instructions.
        (jump): Updated the attributes.
        (switch): Update to support new targets. CC_REGNUM register is
        clobbered and attributes are updated.
        (call_internal_short, call_internal_long, call_value_internal_short,
        call_value_internal_long): Updated the attributes.
        (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
        clobbered and attributes are updated.
        (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
        Update to support new targets. CC_REGNUM register is clobbered.
        (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
        instructions.
        (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
        are updated.
        (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
        divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
        negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
        floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
        rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
        cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
        cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
        cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
        movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
        movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
        point instructions defined for V850e2v3 target.
        (callt_save_interrupt, callt_return_interrupt, return_interrupt):
        Add support for V850E2 targets and CC_REGNUM register is clobbered.
        (callt_save_all_interrupt, callt_restore_all_interrupt): Add
        support for new targets.
        * config/v850/v850-modes.def: New file.
        * config/v850/v850.opt(mstrict-align): Remove.
        (mno-strict-align, mjump-tables-in-data-section, mv850e2,
        mv850e2v3): New command line options for V850.
        * config.gcc: Update the newly added files.
        * doc/invoke.texi: Update the newly added command line options for
        V850 target.

From-SVN: r162530
2010-07-26 09:39:04 +00:00
Richard Guenther
4e89a3faf8 re PR tree-optimization/45052 (volatile ignored)
2010-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45052
	* ipa-pure-const.c (check_stmt): Check volatileness.

From-SVN: r162528
2010-07-26 09:26:43 +00:00
Richard Guenther
d4e075f2bd pr45017.c: Move ...
2010-07-26  Richard Guenther  <rguenther@suse.de>

	* gcc.c-torture/execute/pr45017.c: Move ...
	* gcc.dg/torture/pr45017.c: ... here.  Restrict to i?86 and x86_64.

From-SVN: r162527
2010-07-26 09:16:01 +00:00
GCC Administrator
4468d94daf Daily bump.
From-SVN: r162525
2010-07-26 00:17:07 +00:00
Eric Botcazou
58e6223e92 re PR target/44707 (operand requires impossible reload)
PR target/44707
	* config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
	* config/sparc/sparc.c: Include reload.h.
	(legitimize_tls_address): Rename into...
	(sparc_legitimize_tls_address): ...this.
	(legitimize_pic_address): Rename into...
	(sparc_legitimize_pic_address): ...this.
	(sparc_expand_move): Adjust to above renaming.
	(sparc_tls_referenced_p): Likewise.
	(sparc_legitimize_tls_address): Likewise.
	(sparc_legitimize_pic_address): Likewise.
	(sparc_legitimize_address): Likewise.
	(sparc_output_mi_thunk): Likewise.
	(sparc_legitimize_reload_address): New global function.  Recognize
	(lo_sum (high ...) ...) patterns generated by earlier passes.
	* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.

From-SVN: r162521
2010-07-25 21:46:32 +00:00
Eric Botcazou
bfb7cccf06 re PR target/44484 (revision 160260 caused sparc64 testsuite failures)
PR target/44484
	* config/sparc/predicates.md (memory_reg_operand): Delete.
	* config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
	(*sync_compare_and_swap): Encode the address form in the pattern.
	(*sync_compare_and_swapdi_v8plus): Likewise.

From-SVN: r162520
2010-07-25 21:32:16 +00:00
Thomas Koenig
601d98be18 re PR fortran/40628 (Assignment using "= trim(string)": Optimize "trim" away)
2010-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40628
	* Make-lang.in:  Add fortran/frontend-passes.o.
	* gfortran.h:  Add prototype for gfc_run_passes.
	* resolve.c (gfc_resolve):  Call gfc_run_passes.
	* frontend-passes.c:  New file.

2010-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40628
	* trim_optimize_1.f90:  New test.
	* character_comparision_1.f90:  New test.

From-SVN: r162519
2010-07-25 19:31:37 +00:00
Jerry DeLisle
32e4257f24 re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/42852
	* scanner.c (gfc_next_char_literal): Enable truncation warning for
	free-form '&'.

From-SVN: r162518
2010-07-25 19:10:09 +00:00
Jerry DeLisle
9c15986b8c Fix out of order log entry from 162516 commit.
From-SVN: r162517
2010-07-25 19:07:58 +00:00
Mikael Morin
31fee91edf re PR fortran/44660 (ICE in resolve_equivalence())
2010-07-25  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/44660
	* gfortran.h (gfc_namespace): New field old_equiv.
	(gfc_free_equiv_until): New prototype.
	* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
	a parameterized stop condition.
	(gfc_free_equiv): Use gfc_free_equiv_until.
	* parse.c (next_statement): Save equivalence list.
	(reject_statement): Restore equivalence list.

From-SVN: r162516
2010-07-25 17:01:15 +00:00
Jonathan Wakely
20b84bef2b re PR libstdc++/45060 (Wreorder warning in bits/hashtable.h)
2010-07-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45060
	* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
	Reorder mem-initializers.

From-SVN: r162515
2010-07-25 17:44:38 +01:00
Jerry DeLisle
85c2885043 re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/42852
	* gfortran.dg/wtruncate_fix.f: New test.

From-SVN: r162514
2010-07-25 15:35:04 +00:00
Jerry DeLisle
ac64eec40c re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/42852
	* scanner.c (gfc_next_char_literal): Move check for truncation earlier
	in the function so that it does not get missed by early exits.
	(load_line): Add checks for quoted strings and free form comments to
	disable warnings on comments. Add check for ampersand as first
	character after truncation and don't warn for this case, but warn if
	there are subsequent non-whitespace characters.

From-SVN: r162512
2010-07-25 15:07:45 +00:00
H.J. Lu
af8e1802e1 Support "//" as assembler comments.
2010-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/45068
	* g++.dg/debug/dwarf2/nested-2.C: Support "//" as comments.

From-SVN: r162511
2010-07-25 07:54:03 -07:00
GCC Administrator
8b9bda4ee7 Daily bump.
From-SVN: r162507
2010-07-25 00:17:57 +00:00
Gerald Pfeifer
aac91b7477 install.texi (Specific, [...]): Adjust to recent changes.
* doc/install.texi (Specific, *-*-freebsd*): Adjust to recent
	changes.  Streamline paragraph on compatibility with the system
	compiler.

From-SVN: r162503
2010-07-24 20:00:49 +00:00
Richard Guenther
0128991dbf re PR lto/43788 (ICE: verify_stmts failed: statement marked for throw, but doesn't)
2010-07-24  Richard Guenther  <rguenther@suse.de>

	PR lto/43788
	* g++.dg/lto/20100724-1_0.C: New testcase.

From-SVN: r162502
2010-07-24 16:58:19 +00:00
Richard Guenther
2091f81165 re PR lto/43212 ([LTO] error: control flow in the middle of basic block)
2010-07-24  Richard Guenther  <rguenther@suse.de>

	PR lto/43212
	* gcc.dg/lto/20100724-1_0.c: New testcase.
	* gcc.dg/lto/20100724-1_1.c: Likewise.

From-SVN: r162501
2010-07-24 16:49:38 +00:00
Tobias Burnus
8569c75308 re PR fortran/40011 (Problems with -fwhole-file)
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40011
        * parse.c (gfc_parse_file): Do not override
        gfc_global_ns_list items.

2010-07-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40011
        * gfortran.dg/whole_file_21.f90: New.

        * gfortran.dg/integer_exponentiation_3.F90: Use
        -ffloat-store only for i?86/x86-64 -m32.

From-SVN: r162500
2010-07-24 18:32:11 +02:00
Steven Bosscher
a522de151f re PR middle-end/45035 (FAIL: gcc.dg/guality/pr36728-2.c)
PR middle-end/45035
	* alias.c (true_dependence_1): Fix thinko in merge of old
	true_dependence and canon_true_dependence.

From-SVN: r162499
2010-07-24 12:37:51 +00:00
Tobias Burnus
100fded17a entry_13.f90: Use abs() > eps instead of "/=".
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=".
        * gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store.

        Missed files from previous commit:

        * gfortran.dg/func_decl_5.f90: New.
        * gfortran.dg/intrinsic_std_6.f90: New.

From-SVN: r162498
2010-07-24 09:47:43 +02:00
Jan Hubicka
5d7f4d9c8b lto-streamer-out.c (write_symbol): Fix visibilities of external references.
* lto-streamer-out.c (write_symbol): Fix visibilities of external
	references.

From-SVN: r162497
2010-07-24 01:04:29 +00:00
GCC Administrator
67d8bd24cd Daily bump.
From-SVN: r162496
2010-07-24 00:17:11 +00:00
Le-Chun Wu
3d07b7cde4 Fix violations of self-assignment check in GCC source.
From-SVN: r162492
2010-07-23 22:20:45 +00:00
Tobias Burnus
df161b697c re PR fortran/45045 (Named COMMON with different size: No warning with -fwhole-file)
gcc/fortran/
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        * options.c (gfc_init_options): Enable -fwhole-file by default.
        * interface.c (compare_parameter): Assume a Hollerith constant is
        compatible with all other argument types.

libgomp/
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
        silence -fwhole-file warning.

gcc/testsuite/
2010-07-24  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/func_decl_4.f90: Split test into two ...
        * gfortran.dg/func_decl_5.f90: ... parts.
        * gfortran.dg/common_resize_1.f: xfail two warnings (cf. PR 45045).
        * gfortran.dg/bounds_temporaries_1.f90: Add new dg-warning.
        * gfortran.dg/global_references_1.f90: Add new dg-warning.
        * gfortran.dg/generic_actual_arg.f90: Add new dg-warning.
        * gfortran.dg/entry_17.f90: Remove no-longer needed dg-warning.
        * gfortran.dg/used_before_typed_4.f90: Add new dg-warning.
        * gfortran.dg/bounds_check_strlen_1.f90: Add new dg-warning.
        * gfortran.dg/intrinsic_std_1.f90: Split by remove tree dump ...
        * gfortran.dg/intrinsic_std_6.f90: ... and create a dump test.
        * gfortran.dg/sizeof.f90: Make test valid.
        * gfortran.dg/pr20865.f90: Add new dg-error.
        * gfortran.dg/integer_exponentiation_2.f90: Add new dg-warnings.
        * gfortran.dg/g77/19990218-0.f: Ditto.
        * gfortran.dg/g77/19990218-1.f: Ditto.
        * gfortran.dg/g77/970625-2.f: Ditto.
        * gfortran.dg/pr37243.f: Fix function declaration.
        * gfortran.dg/use_only_1.f90: Fix implicit typing.
        * gfortran.dg/loc_1.f90: Fix pointer datatype.

From-SVN: r162491
2010-07-24 00:15:51 +02:00
Eric Botcazou
a0bfea64bb utils.c (update_pointer_to): In the unconstrained array case, merge the alias set of the old pointer type.
* gcc-interfaces/utils.c (update_pointer_to): In the unconstrained
	array case, merge the alias set of the old pointer type.

From-SVN: r162488
2010-07-23 20:19:55 +00:00
Tobias Burnus
43afc04731 re PR fortran/44945 (Wrong decl for module vars / FAIL: gfortran.dg/char_array_structure_constructor.f90)
2010-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44945
        * trans-decl.c (gfc_get_symbol_decl): Use module decl with
        -fwhole-file also for derived types.
        * trans-types.c (copy_dt_decls_ifequal): Remove static and
        rename to gfc_copy_dt_decls_ifequal.
        (gfc_get_derived_type): Update call.
        * trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.

2010-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44945
        * gfortran.dg/char_array_structure_constructor.f90: Add
        -fwhole-file as dg-option as it otherwise fails on some
        systems.

From-SVN: r162487
2010-07-23 22:13:07 +02:00
Tobias Burnus
48a32c4956 re PR fortran/45030 (-fwhole-file: Bogus error message with ENTRY and different result types)
2010-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45030
        * resolve.c (resolve_global_procedure): Properly handle ENTRY.

From-SVN: r162486
2010-07-23 22:07:30 +02:00
Eric Botcazou
96bba5e69b utils.c (gnat_types_compatible_p): Revert latest change and recurse only for multidimensional array types instead.
* gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
	and recurse only for multidimensional array types instead.

From-SVN: r162485
2010-07-23 19:53:29 +00:00
Marc Glisse
9183bdcf81 re PR bootstrap/44455 (GCC fails to build if MPFR 3.0.0 (Release Candidate) is used)
2010-07-23  Marc Glisse <marc.glisse@normalesup.org>

	PR bootstrap/44455
	* configure.ac (extra_mpfr_configure_flags): Copy from
	extra_mpc_gmp_configure_flags.
	* configure: Re-generated.

From-SVN: r162482
2010-07-23 19:35:24 +00:00
Richard Guenther
aff08b126b re PR lto/43071 (ICE: SIGSEGV with -fwhopr -fcompare-debug)
2010-07-23  Richard Guenther  <rguenther@suse.de>

	PR lto/43071
	* gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
	for -flto and -fwhopr.

	* g++.dg/lto/20100723-1_0.C: New testcase.

From-SVN: r162481
2010-07-23 19:30:37 +00:00
H.J. Lu
bebb1f2034 Require OSXSAVE for AVX support.
2010-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/aes-avx-check.h (main): Require OSXSAVE for
	AVX support.
	* gcc.target/i386/pclmul-avx-check.h (main): Likewise.
	* gcc.target/x86_64/abi/avx/avx-check.h (main): Likewise.

From-SVN: r162480
2010-07-23 11:44:16 -07:00
Kai Tietz
9b91e43610 re PR preprocessor/41943 (include search path composition is bogus)
2010-07-23  Kai Tietz  <kai.tietz@onevision.com>

	PR target/41943
	* Makefile.in (USER_H_INC_NEXT_PRE,
	USER_H_INC_NEXT_POST): New.
	(stmp-int-hdrs): Prefix/postfix headers by include_next.
	* config.gcc (user_headers_inc_next_pre): New.
	(user_headers_inc_next_post): Likewise.
	(*-w64-mingw*): Use for float.h post-fixing, and for
	stddef.h/stdarg.h pre-fixing by include_next.
	* configure.ac (user_headers_inc_next_post): New.
	(user_headers_inc_next_pre): New.
	* configure: Regenerated.

From-SVN: r162479
2010-07-23 20:32:25 +02:00
Rainer Orth
16c9d3b171 re PR target/18788 ("-pthreads" option with "-shared" does not cause libpthread.so to be linked in.)
libjava:
	* configure.ac (*-*-solaris2.8): Use alternate thread library.
	Add libthread.
	(*-*-solaris2.9): Use libthread.
	* configure: Regenerate.

	libgomp:
	* configure.tgt (*-*-solaris2.[56]*): Removed.

	gcc:
	* configure.ac: Don't disable TLS on Solaris 8/9 by default
	Set tga_func for Solaris 2/x86 resp. SPARC.
	Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
	(LIB_THREAD_LDFLAGS_SPEC): Define.
	(LIB_TLS_SPEC): Define.
	Check for required Sun ld version.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
	-pthread, -threads, LIB_TLS_SPEC with -pthread.
	* doc/install.texi (Specific, *-*-solaris2*): Document use of
	alternate thread libraries on Solaris 8.
	Document TLS patch requirements.
	* doc/sourcebuild.texi (Add Options): Sort alphabetically.
	Document tls.

	PR target/18788
	* config/sol2.h (LIB_SPEC): Link with thread libraries even with
	-shared.

	gcc/testsuite:
	* lib/target-supports.exp (add_options_for_tls): New proc.
	* g++.dg/tls/static-1.C: Use dg-add-options tls.
	* g++.dg/tls/static-1a.cc: Likewise.
	* gcc.dg/tls/emutls-1.c: Likewise.
	* gcc.dg/tls/opt-11.c: Likewise.
	* gcc.dg/tls/opt-12.c: Likewise.
	* gcc.dg/tls/pr24428-2.c: Likewise.
	* gcc.dg/tls/pr24428.c: Likewise.
	* obj-c++.dg/tls/static-1.mm: Likewise.
	* obj-c++.dg/torture/tls/thr-init-1.mm: Likewise.
	* obj-c++.dg/torture/tls/thr-init-2.mm: Likewise.
	* obj-c++.dg/torture/tls/thr-init-3.mm: Likewise.
	* objc.dg/torture/tls/thr-init-2.m: Likewise.
	* objc.dg/torture/tls/thr-init-3.m: Likewise.
	* objc.dg/torture/tls/thr-init.m: Likewise.
	* gcc.dg/lto/20090210_0.c: Add -pthread for *-*-solaris2.[89].

From-SVN: r162478
2010-07-23 17:58:57 +00:00
Uros Bizjak
7a6faad6e7 loadpre6.c: Cleanup fre dump file.
* gcc.dg/tree-ssa/loadpre6.c: Cleanup fre dump file.
	* gcc.dg/ipa/ipa-sra-6.c: Cleanup eipa_sra dump file.
	* gcc.dg/ipa/pure-const-2.c: Cleanup local-pure-const1 and
	optimized dump files.

From-SVN: r162477
2010-07-23 19:15:21 +02:00
Jakub Jelinek
cd3f04c80f tree.h (struct tree_base): Add nameless_flag bitfield.
* tree.h (struct tree_base): Add nameless_flag bitfield.
	(TYPE_NAMELESS, DECL_NAMELESS): Define.
	* omp-low.c (create_omp_child_function, scan_omp_parallel,
	scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
	DECL_ARTIFICIAL where needed.
	* dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
	(type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
	has DECL_NAMELESS set.

	* trans-types.c (gfc_get_array_descriptor_base,
	gfc_get_array_type_bounds): Set TYPE_NAMELESS.
	* trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
	instead of clearing DECL_NAME.
	(gfc_build_dummy_array_decl): Set DECL_NAMELESS.

From-SVN: r162476
2010-07-23 19:04:35 +02:00
Jakub Jelinek
52e092abdd re PR tree-optimization/45047 (ICE in vectorizable_store)
PR tree-optimization/45047
	* gcc.c-torture/compile/pr45047.c: New test.

From-SVN: r162475
2010-07-23 19:03:16 +02:00
Nathan Froyd
c5b79d4eb8 config.host (powerpc*-eabispe*): Set tmake_file.
* config.host (powerpc*-eabispe*): Set tmake_file.
	(powerpc*-eabi*): Likewise.
	* config/rs6000/t-ppccomm (EXTRA_PARTS): Add crtbegin, crtend,
	crtbeginS, crtendS, crtbeginT.

From-SVN: r162474
2010-07-23 16:53:48 +00:00
Uros Bizjak
c5c178d64f float-range-3.c: Use "dg-do compile" dejagnu directive instead of dg-compile.
* gcc.dg/float-range-3.c: Use "dg-do compile" dejagnu directive
	instead of dg-compile.
	* gcc.dg/float-range-4.c: Ditto.
	* gcc.dg/float-range-5.c: Ditto.
	* gcc.dg/fold-overflow-1.c: Ditto.
	* gcc.dg/gomp/sections-4.c: Ditto.
	* gcc.dg/transparent-union-1.c: Ditto.
	* gcc.dg/transparent-union-2.c: Ditto.
	* gcc.target/i386/pr39315-check.c: Ditto.
	* g++.dg/gomp/sections-4.C: Ditto.
	* g++.dg/template/dtor7.C: Ditto.
	* g++.dg/tree-ssa/pr19952.C: Ditto.
	* gfortran.dg/derived_constructor_comps_3.f90: Ditto.
	* gfortran.dg/graphite/pr42185.f90: Ditto.
	* gfortran.dg/namelist_36.f90: Ditto.
	* gnat.dg/noreturn1.adb: Ditto.
	* gnat.dg/specs/small_alignment.ads: Ditto.

From-SVN: r162470
2010-07-23 18:41:39 +02:00
Martin Jambor
556ede6501 re PR tree-optimization/44915 (ICE: SIGSEGV in walk_aliased_vdefs_1.constprop.42 (tree-ssa-alias.c:1707) with -findirect-inlining)
2010-07-23  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44915
	* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
	* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
	(analyze_function): Likewise.

	* testsuite/g++.dg/torture/pr44915.C: New test.

From-SVN: r162469
2010-07-23 18:35:52 +02:00
Martin Jambor
8cbeddcc33 re PR tree-optimization/44914 (ICE: in calc_dfs_tree, at dominance.c:395 with -fipa-sra -fnon-call-exceptions)
2010-07-23  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44914
	* tree-sra.c (sra_modify_function_body): Return true if CFG was
	changed, add purging dead eh edges.
	(ipa_sra_modify_function_body): Return true if CFG was changed,
	simplify purging dead eh edges.
	(modify_function): Return true if CFG was changed.
	(perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
	was changed.
	(ipa_early_sra): Likewise.

	* testsuite/g++.dg/tree-ssa/pr44914.C:  New test.

From-SVN: r162468
2010-07-23 18:31:48 +02:00
Uros Bizjak
e40e64de70 * gcc.dg/pr36997.c: Adjust dg-message line number.
From-SVN: r162467
2010-07-23 17:25:15 +02:00
Jie Zhang
6104449219 re PR target/44290 (__naked attribute is broken)
PR target/44290
	* attribs.c (decl_attributes): Insert "noinline" and "noclone"
	if "naked".
	* tree-sra.c (ipa_sra_preliminary_function_checks): Return
	false if ! tree_versionable_function_p.

	testsuite/
	PR target/44290
	* gcc.dg/pr44290-1.c: New test.
	* gcc.dg/pr44290-2.c: New test.

From-SVN: r162466
2010-07-23 14:47:46 +00:00
H.J. Lu
9477ccb2b1 Cast to unsigned long.
2010-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/45042
	* lto-plugin.c (translate): Cast to unsigned long.

From-SVN: r162465
2010-07-23 07:37:21 -07:00
Nathan Froyd
c59a0a1d19 builtins.def (BUILT_IN_ARGS_INFO): Remove.
* builtins.def (BUILT_IN_ARGS_INFO): Remove.
	* ipa-pure-const.c (special_builtlin_state): Remove
	BUILT_IN_ARGS_INFO case.
	* tree-stdarg.c (execute_optimize_stdarg): Likewise.
	* builtins.c (expand_builtin): Likewise.
	(expand_builtin_args_info): Remove.
	* doc/tm.texi (__builtin_args_info): Remove.
	(__builtin_next_arg): Adjust to not refer to __builtin_args_info.
	* doc/tm.text.in: Likewise.

From-SVN: r162463
2010-07-23 14:31:20 +00:00
Paul Thomas
3d03ead0b8 re PR fortran/24524 (Fortran dependency checking should reverse loops)
2009-07-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24524
	* trans-array.c (gfc_init_loopinfo): Initialize the reverse
	field.
	gfc_trans_scalarized_loop_end: If reverse set in dimension n,
	reverse the scalarization loop.
	gfc_conv_resolve_dependencies: Pass the reverse field of the
	loopinfo to gfc_dep_resolver.
	trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
	assignment by resetting loop.reverse.
	gfortran.h : Add the gfc_reverse enum.
	trans.h : Add the reverse field to gfc_loopinfo.
	dependency.c (gfc_check_dependency): Pass null to the new arg
	of gfc_dep_resolver.
	(gfc_check_section_vs_section): Check for reverse dependencies.
	(gfc_dep_resolver): Add reverse argument and deal with the loop
	reversal logic.
	dependency.h : Modify prototype for gfc_dep_resolver to include
	gfc_reverse *.

From-SVN: r162462
2010-07-23 14:25:55 +00:00
Richard Guenther
c4fcd06a10 lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
2010-07-23  Richard Guenther  <rguenther@suse.de>

	* lto-symtab.c (lto_symtab_merge): Use gtc_mode enum
	values.
	(lto_symtab_merge_decls_2): Likewise.
	* tree-ssa.c (useless_type_conversion_p): Likewise.
	* lto-streamer-in.c (input_gimple_stmt): Likewise.
	* gimple.c (gtc_visited2, gtc_ob2): Remove.
	(struct type_pair_d): Make same_p an array indexed by mode.
	Update comment.
	(lookup_type_pair): Update initialization.
	(struct sccs): Adjust same_p type.
	(gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
	Adjust.
	(print_gimple_types_stats): Likewise.
	* gimple.h (enum gtc_mode): New.
	(gimple_types_compatible_p): Adjust prototype.

From-SVN: r162461
2010-07-23 14:01:49 +00:00