Commit graph

104806 commits

Author SHA1 Message Date
Eric Botcazou
885c9b5d3a re PR rtl-optimization/46315 (-O2 -fno-strict-overflow causes wrong code generation)
PR rtl-optimization/46315
	* rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
	* rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
	extracted from...
	* dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
	(remove_reg_equal_equiv_notes_for_defs): ...this.
	(delete_unmarked_insns): Adjust to above renaming.
	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
	referring to registers set in the insns being moved, if any.

	* df-core.c (df_ref_dump): New function extracted from...
	(df_refs_chain_dump): ...here.  Call it.
	(df_regs_chain_dump): Likewise.
	* df-problems.c (df_chain_dump): Print 'e' for uses in notes.
	* df-scan.c (df_scan_start_dump): Likewise.  Fix long line.

From-SVN: r166827
2010-11-16 22:13:52 +00:00
Joern Rennecke
2b12962772 re PR java/46386 (negative shift count in build_constants_constructor for 16 bit pointer targets)
2010-11-09  Joern Rennecke  <amylaar@spamcop.net>
	    Andrew Haley  <aph@redhat.com>

	PR java/46386
gcc/java:
	* constants.c (build_constants_constructor): Avoid negative shift.
gcc:
	* config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
	* config/t-pnt16-warn (java/constants.o-warn): Likewise.

Co-Authored-By: Andrew Haley <aph@redhat.com>

From-SVN: r166826
2010-11-16 21:46:28 +00:00
Francois-Xavier Coudert
1ec601bf9f re PR fortran/32049 (Support on x86_64 also kind=16)
/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * Makefile.def: Add libquadmath; build it with language=fortran.
        * configure.ac: Add libquadmath.
        * Makefile.tpl: Handle multiple libs in check-[+language+].
        * Makefile.in: Regenerate.
        * configure: Regenerate.

libquadmath/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        Initial implementation and checkin.

gcc/fortran/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * gfortranspec.c (find_spec_file): New function.
        (lang_specific_driver): Try to find .spec file and use it.
        * trans-io.c (iocall): Define
        * IOCALL_X_REAL128/COMPLEX128(,write).
        (gfc_build_io_library_fndecls): Build decl for __float128 I/O.
        (transfer_expr): Call __float128 I/O functions.
        * trans-types.c (gfc_init_kinds): Allow kind-16 belonging
        to __float128.

gcc/testsuite/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * gfortran.dg/quad_1.f90: New.
        * lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
        compiler arguments.
        * lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
        library search path; call gcc-set-multilib-library-path with
        arguments such that libgfortran.spec is found.
        (gfortran_init): Add path for libgfortran.spec to
GFORTRAN_UNDER_TEST.

libgomp/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * configure.ac: 
        * configure: Regenerate.

libgfortran/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
        link libquadmath, if used.
        * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
        * configure.ac: Use it, touch spec file.
        * gfortran.map: Add pow_r16_i4 and
        transfer_(real,complex)128(,write) functions.
        * intrinsics/cshift0.c (cshift0): Handle __float128 type.
        * intrinsics/erfc_scaled_inc.c: Ditto.
        * intrinsics/pack_generic.c (pack): Ditto
        * intrinsics/spread_generic.c (spread): Ditto.
        * intrinsics/unpack_generic.c (unpack1): Ditto.
        * io/read.c (convert_real): Ditto.
        * io/transfer.c: Update comments.
        * io/transfer128.c: New file.
        * io/write_float.def (write_float): Handle __float128 type.
        * libgfortran.h: #include quadmath_weak.h, define __builtin_infq
        and nanq.
        * m4/mtype.m4: Handle __float128 type.
        * runtime/in_pack_generic.c (internal_pack): Ditto.
        * runtime/in_unpack_generic.c (internal_unpack): Ditto.
        * kinds-override.h: New file.
        * libgfortran.spec.in: Ditto.
        * generated/pow_r16_i4.c: Generated.
        * Makefile.in: Regenerate.
        * configure: Regenerate.
        * config.h: Regenerate.
        * bessel_r10.c: Regenerate.
        * bessel_r16.c: Regenerate.
        * bessel_r4.c: Regenerate.
        * bessel_r8.c: Regenerate.
        * exponent_r16.c: Regenerate.
        * fraction_r16.c: Regenerate.
        * nearest_r16.c: Regenerate.
        * norm2_r10.c: Regenerate.
        * norm2_r16.c: Regenerate.
        * norm2_r4.c: Regenerate.
        * norm2_r8.c: Regenerate.
        * rrspacing_r16.c: Regenerate.
        * set_exponent_r16.c: Regenerate.
        * spacing_r16.c: Regenerate.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r166825
2010-11-16 22:23:19 +01:00
Jakub Jelinek
07078664fd re PR c++/46401 (very slow compile time with -Wsequence-point)
PR c++/46401
	* c-common.c (warning_candidate_p): Don't track non-const calls
	or STRING_CSTs.

	* g++.dg/warn/Wsequence-point-3.C: New test.

From-SVN: r166823
2010-11-16 21:49:57 +01:00
Andreas Schwab
18c33e032d re PR rtl-optimization/46395 (FAIL: 22_locale/numpunct/members/pod/2.cc execution test)
PR rtl-optimization/46395
* gcc/postreload.c (reload_combine): Invalidate register use
information on all control flow insns.

From-SVN: r166820
2010-11-16 20:17:31 +00:00
Kai Tietz
651a20b54b re PR preprocessor/17349 (// comments cause weird behaviour with options -E -C)
2010-11-16  Kai Tietz  <kai.tietz@onevision.com>

        PR preprocessor/17349
        * lex.c (save_comment): Handle in argument passing c++
        comments special.

2010-11-16  Kai Tietz  <kai.tietz@onevision.com>

        PR preprocessor/17349
        * gcc.dg/cpp/cmdlne-C3.c: New.

From-SVN: r166817
2010-11-16 20:50:17 +01:00
Andreas Schwab
92cf739996 m68k.c (m68k_delegitimize_address): Also expect LABEL_REF in UNSPEC operand.
* gcc/config/m68k/m68k.c (m68k_delegitimize_address): Also expect
LABEL_REF in UNSPEC operand.

From-SVN: r166816
2010-11-16 19:45:55 +00:00
Jan Hubicka
df7705b18e cgraph.h (+varpool_can_remove_if_no_refs): Move here from ......
* cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
	when !flag_toplevel_reorder do not remove unless variable is
	COMDAT or ARTIFICIAL.
	* ipa.c (varpool_can_remove_if_no_refs): ... here.
	(cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
	* cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
	* varpool.c (decide_is_variable_needed): Do not handle visibility issues.
	(varpool_finalize_decl): Likewise.
	(varpool_remove_unreferenced_decls): Use varpool_mark_needed_node; update
	outdated comment on DECL_RTL_SET_P check.

From-SVN: r166812
2010-11-16 18:15:17 +00:00
Rainer Orth
3e794bfe43 sol2.h (NM_FLAGS): Define.
* config/sol2.h (NM_FLAGS): Define.
	* doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
	* doc/tm.texi: Update.

From-SVN: r166811
2010-11-16 18:04:40 +00:00
H.J. Lu
431f321fbd Properly demangle a global constructor symbol.
2010-11-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/42670
	PR binutils/11137
	* cp-demangle.c (d_make_demangle_mangled_name): New.
	(d_demangle_callback): Use it on DCT_GLOBAL_XTORS.

	* testsuite/demangle-expected: Updated.

From-SVN: r166810
2010-11-16 09:56:50 -08:00
Tom Tromey
b9b9d34254 * MAINTAINERS: Moved myself to reviewers section.
From-SVN: r166809
2010-11-16 17:37:04 +00:00
Nick Clifton
2a5e378096 v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
* config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma
	rtx_code.
	(msubsf4): Rename to fmssf4, and use fma.
	(nmaddsf4): Rename to fnmasf4 and use fma.
	(nmsubsf4): Rename to fnmssf4 and use fma.

From-SVN: r166808
2010-11-16 16:51:14 +00:00
Joern Rennecke
996893cea3 re PR target/44762 (score/predicates.md warnings)
PR target/44762
	* config/score/score3.c (score3_return_in_memory): Constify arguments.
	(score3_in_small_data_p, score3_function_value): Likewise.
	(score3_trampoline_init): Use LCT_NORMAL.
	(score3_print_operand): Initialize code as UNKNOWN.
	* config/score/predicates.md (score_load_multiple_operation):
	Remove unused variable.
	(score_store_multiple_operation): Likewise.
	* config/score/score7.c (score7_return_in_memory): Constify arguments.
        (score7_in_small_data_p, score7_function_value): Likewise.
	(score7_trampoline_init): Use LCT_NORMAL.
	(score7_print_operand): Initialize code as UNKNOWN.
	* config/score/score3.h (score3_return_in_memory): Update prototype.
	(score3_in_small_data_p, score3_function_value): Likewise.
	* config/score/score-protos.h (score_function_value): Likewise.
	* config/score/score7.h (score7_return_in_memory): Update prototype.
	(score7_in_small_data_p, score7_function_value): Likewise.
	* config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
	(score_return_in_memory, score_pass_by_reference): Constify arguments.
	(score_output_mi_thunk, score_function_prologue): Don't return a value.
	(score_function_epilogue, score_in_small_data_p): Likewise.
	(score_option_override, score_asm_trampoline_template): Likewise.
	(score_trampoline_init, score_print_operand): Likewise.
	(score_print_operand_address, score_prologue): Likewise.
	(score_epilogue, score_call, score_call_value): Likewise.
	(score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
	(score_function_arg_advance): Likewise. Make static.
	(score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
	(score_function_arg, score_legitimate_address_p): Make static.
	(score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
	* config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
	* config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
	Allow (W) == HOST_BITS_PER_WIDE_INT.

From-SVN: r166807
2010-11-16 16:12:14 +00:00
Nathan Froyd
19cf9bde76 arc.c: Delete pasto.
* config/arc/arc.c: Delete pasto.
	* config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.

From-SVN: r166806
2010-11-16 15:48:28 +00:00
Anatoly Sokolov
f2831cc91f mn10300.h (PREFERRED_RELOAD_CLASS, [...]): Remove.
* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
	PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
	* config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
	(mn10300_preferred_reload_class,
	mn10300_preferred_output_reload_class): New functions.

From-SVN: r166805
2010-11-16 18:47:31 +03:00
Andreas Krebbel
64aad6898e gensupport.c (MNEMONIC_ATTR_NAME, [...]): New macros.
2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New
	macros.
	(htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
	(mnemonic_htab_callback, gen_mnemonic_attr): New functions.
	(init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.

From-SVN: r166804
2010-11-16 15:33:53 +00:00
Nathan Froyd
c2ed6cf88c builtins.c (std_gimplify_va_arg_expr): Use targetm.calls.function_arg_boundary.
* builtins.c (std_gimplify_va_arg_expr): Use
	targetm.calls.function_arg_boundary.
	* function.c (assign_parms, locate_and_pad_parm): Likewise.
	* calls.c (struct arg_data): Update comment.
	* defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
	* target.def (function_arg_boundary): Define.
	* targhooks.h (default_function_arg_boundary): Declare.
	* targhooks.c (default_function_arg_boundary): Define.
	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
	TARGET_FUNCTION_ARG_BOUNDARY.
	(FUNCTION_ARG_BOUNDARY): Delete.
	(TARGET_FUNCTION_ARG_BOUNDARY): New.
	* doc/tm.texi: Regenerate.
	* system.h (FUNCTION_ARG_BOUNDARY): Poison.
	* config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/arc/arc.c (arc_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
	* config/arm/arm.c (arm_needs_doubleword_align): Make static.
	(arm_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
	* config/frv/frv.c (frv_function_arg_boundary): Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
	* config/i386/i386.c (ix86_function_arg_boundary): Make static.
	(ix86_compat_function_arg_boundary): Take and return unsigned int.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
	* config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/m32c/m32c.c (m32c_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/mcore/mcore.c (mcore_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
	* config/mips/mips.c (mips_function_arg_boundary): Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/pa/pa.c (pa_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/picochip/picochip-protos.h
	(picochip_get_function_arg_boundary): Delete.
	* config/picochip/picochip.c (picochip_get_function_arg_boundary):
	Rename to...
	(picochip_function_arg_boundary): ...this.  Make static.
	(picochip_function_arg, picochip_arg_partial_bytes): Adjust.
	(picochip_arg_advance): Adjust.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
	* config/rs6000/rs6000.c (function_arg_boundary): Rename to...
	(rs6000_function_arg_boundary): ...this.  Make static.
	(rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/rx/rx.c (rx_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/sparc/sparc.c (sparc_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
	* config/xtensa/xtensa.c (function_arg_boundary): Rename to...
	(xtensa_function_arg_boundary): ...this.  Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.

From-SVN: r166803
2010-11-16 14:25:07 +00:00
Nathan Froyd
d824aea207 expr.c (alignment_for_piecewise_move): New function.
* expr.c (alignment_for_piecewise_move): New function.
	(widest_int_mode_for_size): New function.
	(move_by_pieces, move_by_pieces_ninsns): Call them.
	(can_store_by_pieces, store_by_pieces_1): Likewise.

From-SVN: r166802
2010-11-16 14:19:43 +00:00
Nathan Froyd
69d540bdc7 gcc.c (char_p): Define.
* gcc.c (char_p): Define.  Define a VEC of it.
	(n_linker_options, n_assembler_options, n_preprocessor_options):
	Delete.
	(linker_options, assembler_options, preprocessor_options): Convert
	to a VEC.
	(add_preprocessor_option): Adjust.
	(add_assembler_option): Adjust.
	(add_linker_option): Adjust.
	(do_specs_vec): New function.
	(do_spec_1): Call it.  Adjust for new types.

From-SVN: r166801
2010-11-16 14:18:02 +00:00
Nathan Froyd
8e65c28647 Makefile.in (bitmap.o, [...]): Update dependencies.
* Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update
	dependencies.
	(sreal.o, statistics.o, stringpool.o): Likewise.

From-SVN: r166800
2010-11-16 14:16:30 +00:00
Richard Guenther
6b03de573e re PR tree-optimization/44545 (internal compiler error: in remove_unreachable_handlers, at tree-eh)
2010-11-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44545
	* tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
	statements are not reassociatable.
	(reassociate_bb): Likewise.

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

From-SVN: r166799
2010-11-16 14:15:55 +00:00
Andrey Belevantsev
d61c486744 re PR rtl-optimization/46366 (gcc.target/i386/pr45352-2.c failed)
PR rtl-optimization/46366
        * gcc.target/i386/pr45352-2.c: Silence warnings by using appropriate
        casts.

From-SVN: r166798
2010-11-16 17:11:39 +03:00
Nathan Froyd
338ae1c163 bitmap.c: Delete unnecessary includes.
* bitmap.c: Delete unnecessary includes.
	* ebitmap.c: Likewise.
	* et-forest.c: Likewise.
	* sreal.c: Likewise.
	* statistics.c: Likewise.
	* stringpool.c: Likewise.
	* double-int.c: Add comment for inclusion of tm.h.

From-SVN: r166797
2010-11-16 13:57:21 +00:00
Richard Guenther
2262707f73 tree-ssa-sccvn.c (visit_unary_op): Rename to ...
2010-11-16  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (visit_unary_op): Rename to ...
	(visit_nary_op): ... this.
	(visit_binary_op): Remove.
	(visit_use): Adjust and handle GIMPLE_TERNARY_RHS.

	* gcc.dg/tree-ssa/ssa-fre-30.c: New testcase.

From-SVN: r166795
2010-11-16 12:57:34 +00:00
Richard Guenther
05613877bd re PR middle-end/45172 (internal compiler error: verify_flow_info failed)
2010-11-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45172
	* tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate
	edges.

	* gfortran.dg/gomp/pr45172.f90: New testcase.

From-SVN: r166794
2010-11-16 11:42:50 +00:00
Nick Clifton
27128fc317 rx.c (rx_is_ms_bitfield_layout): Return false if the record is packed.
* config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
	record is packed.

	* gcc.target/rx/pack.c: New test.

From-SVN: r166793
2010-11-16 09:40:02 +00:00
Richard Henderson
180ed1b2bd fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR...
* fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
	WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR,
	DOT_PROD_EXPR.

From-SVN: r166792
2010-11-15 19:45:36 -08:00
Richard Henderson
3ca35fbd59 builtin-math-2.c: Split out fma tests...
* gcc.dg/torture/builtin-math-2.c: Split out fma tests...
	* gcc.dg/torture/builtin-math-8.c: ... here.  New file.
	Use builtin_constant_p rather than scanning for builtin name.

From-SVN: r166791
2010-11-15 19:43:22 -08:00
Richard Henderson
93f9a911c3 mn10300.md (fmasf4, [...]): Rename from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively.
* config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
        from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively.  Use
        fma rtx_code.

From-SVN: r166790
2010-11-15 17:32:56 -08:00
Richard Henderson
be2fbfb6a6 frv.md (fmasf4, fmssf4): Rename from *muladdsf4 and *mulsubsf4 respectively.
* config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
        and *mulsubsf4 respectively.  Use fma rtx_code.

From-SVN: r166789
2010-11-15 17:30:38 -08:00
Joseph Myers
5b634ee080 gcc.c: Include "vec.h".
* gcc.c: Include "vec.h".
	(argbuf): Make into a VEC.
	(argbuf_length, argbuf_index): Remove.
	(alloc_args, clear_args, store_arg, execute, insert_wrapper,
	do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
	compare_debug_dump_opt_spec_function: Use VEC interfaces on
	argbuf.
	* Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
	(gcc.o): Depend on $(VEC_H).

From-SVN: r166788
2010-11-16 01:01:57 +00:00
GCC Administrator
376fb8380a Daily bump.
From-SVN: r166786
2010-11-16 00:18:35 +00:00
Richard Henderson
531e5376aa loop-unroll.c (analyze_insn_to_expand_var): Accept
* loop-unroll.c (analyze_insn_to_expand_var): Accept
	* accumulation
	via FMA if unsafe math.
	(insert_var_expansion_initialization): Handle FMA.
	(combine_var_copies_in_loop_exit): Likewise.

From-SVN: r166781
2010-11-15 15:20:13 -08:00
Richard Henderson
f19f1e5ef0 ia64: -mfused-madd cleanup
* config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
	* config/ia64/ia64.opt: Remove mfused-madd.
	* config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
	* config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
	* config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
	* config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
	* config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
	* config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
	(*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
	(fmav2sf4): Rename from fpma; use FMA code.
	(fmsv2sf4): Rename from fpms; use FMA code.
	(fnmav2sf4): Rename from *fpnma; use FMA code.
	* config/ia64/ia64.md (MODE_SDF): New iterator.
	(suffix): New mode attribute.
	(*maddsf4, *msubsf4, *nmaddsf4): Remove.
	(fmssf4): Rename from *fmssf4.
	(fnmasf4): Rename from *nfmasf4.
	(*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
	(*nmadddf4, *nmadddf4_truncsf): Remove.
	(fmsdf4): Rename from *fmsdf4.
	(fnmadf4): Rename from *nfmadf4.
	(*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
	(*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
	(*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
	(*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
	(fmsxf4): Rename from *fmsxf4.
	(fnmaxf4): Rename from *nfmaxf4.
	(*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
	(*fnmaxf_trunc_<MODE_SDF>): New.

From-SVN: r166780
2010-11-15 15:16:48 -08:00
Nicola Pero
b6cfe8acc5 In gcc/objc/: 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_build_setter_call): New.
        (objc_maybe_build_modify_expr): Rewritten to build a compound
        statement.
        (objc_build_incr_expr_for_property_ref): Updated calls to
        objc_maybe_build_modify_expr to call objc_build_setter_call
        instead.  Use build_modify_expr () instead of build2 (MODIFY_EXPR,
        ...).  Use convert () instead of build1 (NOP_EXPR, ...).  Use
        TREE_NO_WARNING on the final compound statement to silence C++
        warnings.

In gcc/testsuite/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/property/dotsyntax-18.m: New.
        * objc.dg/property/dotsyntax-19.m: New.
        * objc.dg/property/dotsyntax-20.m: New.
        * obj-c++.dg/property/dotsyntax-18.mm: New.
        * obj-c++.dg/property/dotsyntax-19.mm: New.     
        * obj-c++.dg/property/dotsyntax-20.mm: New.
        * objc.dg/property/dotsyntax-4.m: Removed some unused variables and code.
        * objc.dg/property/dotsyntax-6.m: Same change.
        * objc.dg/property/dotsyntax-16.m: Same change. 
        * objc.dg/property/dotsyntax-17.m: Same change.
        * obj-c++.dg/property/dotsyntax-4.mm: Same change.
        * obj-c++.dg/property/dotsyntax-6.mm: Same change.
        * obj-c++.dg/property/dotsyntax-16.mm: Same change. 
        * obj-c++.dg/property/dotsyntax-17.mm: Same change.
        * objc.dg/property/at-property-22.m: Added missing casts.
        * obj-c++.dg/property/at-property-22.mm: Same change.

From-SVN: r166779
2010-11-15 23:12:49 +00:00
Jakub Jelinek
567b99c86e re PR tree-optimization/46491 (ipa-pure-const.c miscompilation)
PR tree-optimization/46491
	* gcc.target/i386/pr46491.c: New test.

From-SVN: r166777
2010-11-15 23:31:47 +01:00
Jakub Jelinek
7a4f257ddd re PR tree-optimization/46461 (ICE: invalid argument to gimple call at -O with __builtin_memset())
PR tree-optimization/46461
	* tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
	a gimple val.

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

From-SVN: r166776
2010-11-15 23:30:15 +01:00
Zdenek Dvorak
ecbfe87a7b MAINTAINERS: Moved myself to reviewers section.
* MAINTAINERS: Moved myself to reviewers section.

From-SVN: r166775
2010-11-15 22:28:44 +00:00
Ralf Wildenhues
9606fadbb5 PR libstdc++/45711 cleanup.
libstdc++-v3/:
        PR libstdc++/45711
        * src/Makefile.am (stamp-debug): Also adjust VPATH.
        * src/Makefile.in: Regenerate.

From-SVN: r166772
2010-11-15 21:39:09 +00:00
Ralf Wildenhues
29a4f47725 Update MAINTAINERS.
/:
	* MAINTAINERS (Various Maintainers): Add self for build machinery.
	(Write After Approval): Remove self.

From-SVN: r166771
2010-11-15 21:38:42 +00:00
Ian Lance Taylor
c6a13190a1 godump.c: New file.
gcc/:
	* godump.c: New file.
	* common.opt (fdump-go-spec=): New option.
	* tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
	(TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
	(TYPE_SYMTAB_IS_DIE): Define.
	(struct tree_type): Change GTY for symtab field to use
	TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
	to pick the union field.
	* debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
	(dump_go_spec_init): Declare.
	* toplev.c (process_options): Handle flag_dump_go_spec.
	* debug.c: Include "tree.h".
	(do_nothing_debug_hooks): Set tree_type_symtab_field.
	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
	* dbxout.c (dbx_debug_hooks): Likewise.
	(xcoff_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
	SDB_DEBUGGING_INFO is not defined.
	* doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
	(Overall Options): Document -fdump-go-spec.
	* Makefile.in (OBJS-common): Add godump.o.
	(debug.o): Add dependency on $(TREE_H).
	(godump.o): New target.
	(GTFILES): Add $(srcdir)/godump.c.
gcc/c-family/:
	* c-lex.c (init_c_lex): Set macro debug callbacks if
	flag_dump_go_spec is set.

From-SVN: r166770
2010-11-15 21:38:40 +00:00
Tobias Burnus
11746b92d8 re PR fortran/46484 (Should reject ALLOCATED(non-variable expression ))
2010-11-15  Tobias Burnus  <burnus@net.b.de>

        PR fortran/46484
        * check.c (variable_check): Don't treat functions calls as
        * variables;
        optionally accept function themselves.
        (gfc_check_all_any, gfc_check_loc, gfc_check_move_alloc,
        gfc_check_null, gfc_check_present, gfc_check_cpu_time,
        gfc_check_date_and_time, gfc_check_mvbits, gfc_check_random_number,
        gfc_check_random_seed, gfc_check_system_clock,
        gfc_check_dtime_etime, gfc_check_dtime_etime_sub,
        gfc_check_itime_idate,gfc_check_ltime_gmtime): Update call.

2010-11-15  Tobias Burnus  <burnus@net.b.de>

        PR fortran/46484
        * gfortran.dg/allocatable_scalar_11.f90: New.
        * gfortran.dg/allocatable_scalar_5.f90: Make test case standard
        * conform.

From-SVN: r166769
2010-11-15 21:44:26 +01:00
Rainer Orth
ed2a97eb0d libffi-dg.exp: Rename ...
* testsuite/lib/libffi-dg.exp: Rename ...
	* testsuite/lib/libffi.exp: ... to this.
	* libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
	* libffi/testsuite/libffi.special/special.exp: Likewise.

From-SVN: r166768
2010-11-15 20:30:37 +00:00
Jakub Jelinek
23d8fd35c4 re PR debug/46095 (ICE: in dwarf2out_frame_debug_expr, at dwarf2out.c:2341 with -fstack-protector)
PR debug/46095
	* config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
	marking r11 set RTX_FRAME_RELATED_P if offset is too large for
	style < 0, add REG_FRAME_RELATED_EXPR.

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

From-SVN: r166767
2010-11-15 21:09:24 +01:00
Jakub Jelinek
61630b2768 re PR debug/46387 (ICE in add_stores, at var-tracking.c:5415)
PR debug/46387
	* rtl.h (vt_equate_reg_base_value): New prototype.
	* alias.c (vt_equate_reg_base_value): New function.
	* var-tracking.c (vt_init_cfa_base): Use it.

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

From-SVN: r166766
2010-11-15 21:07:39 +01:00
Jan Hubicka
3abe8cabdc re PR lto/41528 (LTO needs better internal and user documentation)
2010-11-15  Jan Hubicka  <jh@suse.cz>
	    Diego Novillo  <dnovillo@google.com>

	PR lto/41528
	* doc/lto.texi: Add.
	* doc/gccint.texi: Add reference to lto.texi.
	* doc/invoke.texi: Update user documentation for LTO.
	Move internal flags to lto.texi



Co-Authored-By: Diego Novillo <dnovillo@google.com>

From-SVN: r166765
2010-11-15 14:55:27 -05:00
Nicola Pero
925e8657ce In gcc/: 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-typeck.c (build_unary_op): Use
        objc_build_incr_expr_for_property_ref to build the pre/post
        increment/decrement of an Objective-C property ref, and skip the
        lvalue_or_else check in that case.

In gcc/c-family/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * c-common.h (objc_build_incr_expr_for_property_ref): New.
        * stub-objc.c (objc_build_incr_expr_for_property_ref): New.

In gcc/cp/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * typeck.c (cp_build_unary_op): Use
        objc_build_incr_expr_for_property_ref to build the pre/post
        increment/decrement of an Objective-C property ref.

In gcc/objc/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_build_incr_expr_for_property_ref): New.
        (objc_create_temporary_var): Moved it towards the beginning of the
        file so that objc_build_incr_expr_for_property_ref can use it.

In gcc/testsuite/:
2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/property/dotsyntax-16.m: New.
        * objc.dg/property/dotsyntax-17.m: New.
        * obj-c++.dg/property/dotsyntax-16.mm: New.
        * obj-c++.dg/property/dotsyntax-17.mm: New.
        * objc.dg/property/at-property-10.m: Uncommented using 'x++'
        syntax with properties, which now works.
        * obj-c++.dg/property/at-property-10.mm: Same change.

From-SVN: r166763
2010-11-15 18:46:42 +00:00
Martin Jambor
4cc13d9d7a re PR tree-optimization/46349 (incorrect scalarization)
2010-11-15  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/46349
	* tree-sra.c (contains_bitfld_comp_ref_p): New function.
	(contains_vce_or_bfcref_p): Likewise.
	(sra_modify_assign): Use them.

	* testsuite/gnat.dg/opt9.adb: New file.
	* testsuite/gnat.dg/opt9_pkg.ads: Likewise

From-SVN: r166759
2010-11-15 17:32:18 +01:00
Andreas Schwab
9965e3cddf configure.ac: Fix spelling in option names.
* configure.ac: Fix spelling in option names.
* configure: Regenerated.

config/:
* cloog.m4 (CLOOG_INIT_FLAGS): Fix spelling in option names.

From-SVN: r166758
2010-11-15 16:30:20 +00:00
Richard Guenther
d6e524ced5 re PR lto/44989 (g++.dg/guality/redeclaration1.C)
2010-11-15  Richard Guenther  <rguenther@suse.de>

	PR lto/44989
	* g++.dg/guality/redeclaration1.C: Do not execute for LTO.

From-SVN: r166757
2010-11-15 15:52:42 +00:00