platform/upstream/linaro-gcc.git
12 years agoAlways compile atomic builtin tests with $XCFLAGS
ro [Thu, 10 May 2012 09:11:05 +0000 (09:11 +0000)]
Always compile atomic builtin tests with $XCFLAGS

PR other/53284
* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
instead of overriding.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187366 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUse i386-cpuinfo.c on all i386 targets
ro [Thu, 10 May 2012 08:51:39 +0000 (08:51 +0000)]
Use i386-cpuinfo.c on all i386 targets

libgcc:
* config.host (i[34567]86-*-linux*, x86_64-*-linux*)
(i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu)
(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move
i386/t-cpuinfo ...
(i[34567]86-*-*, x86_64-*-*): ... here.

* config/i386/libgcc-bsd.ver (GCC_4.8.0): New version.
* config/i386/libgcc-sol2.ver (GCC_4.8.0): New version.

* config/i386/i386-cpuinfo.c: Rename to ...
* config/i386/cpuinfo.c: ... this.
* config/i386/t-cpuinfo (LIB2ADD): Reflect this.

* configure.ac (AC_CONFIG_HEADER): Call for auto-target.h.
(libgcc_cv_init_priority): New test.
* configure: Regenerate.
* config.in: New file.
* Makefile.in (clean): Rename config.h to auto-target.h.
(config.h): Likewise.
(stamp-h): Likewise.

* config/i386/cpuinfo.c (auto-target.h): Include.
(CONSTRUCTOR_PRIORITY): Define.
(__cpu_indicator_init): Use it.

gcc
* doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
Document requirement to call in constructors.

* config/i386/i386.c: Update comments for i386-cpuinfo.c name
change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187365 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-10 Tristan Gingold <gingold@adacore.com>
gingold [Thu, 10 May 2012 08:04:18 +0000 (08:04 +0000)]
2012-05-10  Tristan Gingold  <gingold@adacore.com>

* expr.c (interpret_float_suffix): Add a guard.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187364 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 May 2012 07:58:27 +0000 (07:58 +0000)]
2012-05-10  Richard Guenther  <rguenther@suse.de>

ada/
* gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.

c-family/
* c-common.c (c_sizeof_or_alignof_type): Remove assert and
adjust commentary about TYPE_IS_SIZETYPE types.

* tree.h (TYPE_IS_SIZETYPE): Remove.
* fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use.
(extract_muldiv_1): Likewise.
* gimple.c (gtc_visit): Likewise.
(gimple_types_compatible_p): Likewise.
(iterative_hash_canonical_type): Likewise.
(gimple_canonical_types_compatible_p): Likewise.
* gimplify.c (gimplify_one_sizepos): Likewise.
* print-tree.c (print_node): Likewise.
* stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187363 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 10 May 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187362 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Add -fgo-pkgpath option.
ian [Wed, 9 May 2012 21:17:23 +0000 (21:17 +0000)]
compiler: Add -fgo-pkgpath option.

* lang.opt: Add -fgo-pkgpath.
* go-lang.c (go_pkgpath): New static variable.
(go_prefix): New static variable.
(go_langhook_init): Pass go_pkgpath and go_prefix to
go_create_gogo.
(go_langhook_handle_option): Handle -fgo-pkgpath.  Change
-fgo-prefix handling to just set go_prefix.
* go-c.h (go_set_prefix): Don't declare.
(go_create_gogo): Add pkgpath and prefix to declaration.
* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
to pkgpath.  Don't include the package name in the asm name.
* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
docs for -fgo-prefix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187356 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Wed, 9 May 2012 21:14:15 +0000 (21:14 +0000)]
2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53289
gcc/
* diagnostic.h (diagnostic_context): Add last_location.
* diagnostic.c (diagnostic_initialize): Initialize it.
(diagnostic_show_locus): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187355 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/52908
uros [Wed, 9 May 2012 20:41:08 +0000 (20:41 +0000)]
PR target/52908
* config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
(vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
instead of xop_mulv2div2di3_low.
(xop_p<macs>dql): Fix vec_select selector.
(xop_p<macs>dqh): Ditto.
(xop_mulv2div2di3_low): Remove insn_and_split pattern.
(xop_mulv2div2di3_high): Ditto.

testsuite/ChangeLog:

PR target/52908
* gcc.target/i386/xop-imul32widen-vector.c: Update scan-assembler
directive to Scan for vpmuldq, not vpmacsdql.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187354 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Wed, 9 May 2012 19:51:17 +0000 (19:51 +0000)]
2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       * doc/extend.texi (Function Attributes): Point xref to section
about Pragmas.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187353 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (*movdf_internal_rex64): Remove
uros [Wed, 9 May 2012 18:48:31 +0000 (18:48 +0000)]
* config/i386/i386.c (*movdf_internal_rex64): Remove
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
Calculate "mode" attribute according to
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
(*movdf_internal): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187348 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/44141
uros [Wed, 9 May 2012 18:06:47 +0000 (18:06 +0000)]
PR target/44141
* config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
128 bit vectors specially for TARGET_AVX.  Emit sse2_movupd and
sse_movupd RTXes for TARGET_AVX, TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
or when optimizing for size.
* config/i386/sse.md (*mov<mode>_internal): Remove
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
Calculate "mode" attribute according to optimize_function_for_size_p
and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
(*<sse>_movu<ssemodesuffix><avxsizesuffix>): Choose asm template
depending on the mode of the instruction.  Calculate "mode" attribute
according to optimize_function_for_size_p, TARGET_SSE_TYPELESS_STORES
and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flags.
(*<sse2>_movdqu<avxsizesuffix>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187347 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53256
gjl [Wed, 9 May 2012 16:28:53 +0000 (16:28 +0000)]
PR target/53256
* config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
* config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
* config/avr/avr.h (struct machine_function): Add attributes_checked_p.
* config/avr/avr.c (avr_asm_declare_function_name): Remove.
(expand_prologue): Move initialization of cfun->machine->is_naked,
is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
(avr_set_current_function): ...this new static function.
(TARGET_SET_CURRENT_FUNCTION): New define.
(avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
checking attributes of current_function_decl.
(avr_regs_to_save): Ditto.
(signal_function_p): Rename to avr_signal_function_p.
(interrupt_function_p): Rename to avr_interrupt_function_p.
* doc/extend.texi (Function Attributes): Better explanation of
'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
alphabetical order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187342 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/50461
nickc [Wed, 9 May 2012 16:20:17 +0000 (16:20 +0000)]
PR bootstrap/50461
* configure.ac (mpfr-dir): When using in-tree MPFR sources
allow for the fact that from release v3.1.0 of MPFR the source
files were moved into a src sub-directory.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187341 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/53185
matz [Wed, 9 May 2012 16:08:26 +0000 (16:08 +0000)]
PR tree-optimization/53185
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Disable
peeling when we see strided loads.

testsuite/
* gcc.dg/vect/pr53185.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187340 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Matthias Klose <doko@ubuntu.com>
doko [Wed, 9 May 2012 16:00:58 +0000 (16:00 +0000)]
2012-05-09  Matthias Klose  <doko@ubuntu.com>

        * gcc-ar.c (main): Don't check for execute bits for the plugin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187338 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* gcc_update: Use $GCC_SVN to retrieve branch and revision.
dje [Wed, 9 May 2012 15:35:00 +0000 (15:35 +0000)]
* gcc_update: Use $GCC_SVN to retrieve branch and revision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187337 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUse a URL for FSF address and replace spaces with tab
hjl [Wed, 9 May 2012 13:36:19 +0000 (13:36 +0000)]
Use a URL for FSF address and replace spaces with tab

* longlong.h: Use a URL instead of an FSF postal address.
Replace spaces with tab.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187333 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd a test for PR middle-end/53249
hjl [Wed, 9 May 2012 13:32:13 +0000 (13:32 +0000)]
Add a test for PR middle-end/53249

PR middle-end/53249
* gcc.target/i386/pr53249.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187331 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 May 2012 12:59:46 +0000 (12:59 +0000)]
2012-05-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/18437
* gfortran.dg/vect/rnflow-trs2a2.f90: Move ...
* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187330 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
ramana [Wed, 9 May 2012 12:51:36 +0000 (12:51 +0000)]
2012-05-09  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

* tree-ssa-loop-ivopts.c (add_autoinc_candidates, get_address_cost):
Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with
USE_{LOAD/STORE}_{PRE/POST}_{INCREMENT/DECREMENT} appropriately.
* config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New.
(USE_LOAD_POST_INCREMENT): Define.
(USE_LOAD_PRE_INCREMENT): Define.
(USE_LOAD_POST_DECREMENT): Define.
(USE_LOAD_PRE_DECREMENT): Define.
(USE_STORE_PRE_DECREMENT): Define.
(USE_STORE_PRE_INCREMENT): Define.
(USE_STORE_POST_DECREMENT): Define.
(USE_STORE_POST_INCREMENT): Define.
(arm_auto_incmodes): Add enumeration.
* config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare.
* config/arm/arm.c (arm_autoinc_modes_ok_p): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187329 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/53226
jakub [Wed, 9 May 2012 12:19:34 +0000 (12:19 +0000)]
PR tree-optimization/53226
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Remove
prev and prev_initialized vars, gimple_set_plf (stmt, GF_PLF_1, false)
before processing it and gimple_set_plf (stmt, GF_PLF_1, true) if it
doesn't need to be revisited, look for earliest stmt with
!gimple_plf (stmt, GF_PLF_1) if something changed.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187328 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * genmultilib: Update copyright dates.
xguo [Wed, 9 May 2012 11:52:11 +0000 (11:52 +0000)]
    * genmultilib: Update copyright dates.
        * doc/fragments.texi: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187327 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
xguo [Wed, 9 May 2012 11:38:47 +0000 (11:38 +0000)]
    * Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
        * genmultilib (MULTILIB_REQUIRED): New.
        * doc/fragments.texi: Document the MULTILIB_REQUIRED.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187325 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 May 2012 11:01:16 +0000 (11:01 +0000)]
2012-05-09  Richard Guenther  <rguenther@suse.de>

* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
(vect_do_peeling_for_loop_bound): Likewise.
(vect_do_peeling_for_alignment): Likewise.
* tree-vect-loop-manip.c (conservative_cost_threshold): Remove.
(vect_do_peeling_for_loop_bound): Get check_profitability and
threshold as parameters.
(vect_do_peeling_for_alignment): Likewise.
(vect_loop_versioning): Likewise.
* tree-vect-loop.c (vect_transform_loop): Compute check_profitability
and threshold here.  Control where to put the check here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187323 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix gcc.target/i386/hle-* testcases with Sun as
ro [Wed, 9 May 2012 10:49:17 +0000 (10:49 +0000)]
Fix gcc.target/i386/hle-* testcases with Sun as

* gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
* gcc.target/i386/hle-add-rel-1.c: Likewise.
* gcc.target/i386/hle-and-acq-1.c: Likewise.
* gcc.target/i386/hle-and-rel-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
* gcc.target/i386/hle-or-acq-1.c: Likewise.
* gcc.target/i386/hle-or-rel-1.c: Likewise.
* gcc.target/i386/hle-sub-acq-1.c: Likewise.
* gcc.target/i386/hle-sub-rel-1.c: Likewise.
* gcc.target/i386/hle-xadd-acq-1.c: Likewise.
* gcc.target/i386/hle-xadd-rel-1.c: Likewise.
* gcc.target/i386/hle-xor-acq-1.c: Likewise.
* gcc.target/i386/hle-xor-rel-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187321 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Wed, 9 May 2012 09:22:57 +0000 (09:22 +0000)]
gcc/
PR middle-end/53249
* dwarf2out.h (get_address_mode): Move declaration to...
* rtl.h: ...here.
* dwarf2out.c (get_address_mode): Move definition to...
* rtlanal.c: ...here.
* var-tracking.c (get_address_mode): Delete.
* combine.c (find_split_point): Use get_address_mode instead of
targetm.addr_space.address_mode.
* cselib.c (cselib_record_sets): Likewise.
* dse.c (canon_address, record_store): Likewise.
* emit-rtl.c (adjust_address_1, offset_address): Likewise.
* expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces)
(store_by_pieces_1, expand_assignment, store_expr, store_constructor)
(expand_expr_real_1): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* optabs.c (maybe_legitimize_operand_same_code): Likewise.
* reload.c (find_reloads): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sel-sched-dump.c (debug_mem_addr_value): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187320 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
macro [Wed, 9 May 2012 09:19:44 +0000 (09:19 +0000)]
* config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
information from the instruction produced.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187319 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 May 2012 08:56:25 +0000 (08:56 +0000)]
2012-05-09  Richard Guenther  <rguenther@suse.de>

* stor-layout.c (bit_from_pos): Document.
(byte_from_pos): Likewise.  Optimize.
(pos_from_bit): Likewise.
(normalize_offset): Use pos_from_bit instead of replicating it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187317 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53271
amodra [Wed, 9 May 2012 08:17:09 +0000 (08:17 +0000)]
PR target/53271
* config/rs6000/rs6000.c (gen_frame_set): New function.
(gen_frame_load, gen_frame_store): New functions.
(rs6000_savres_rtx): Use the above.
(rs6000_emit_epilogue, rs6000_emit_prologue): Here too.
Correct mode used for CR2 in save/restore_world patterns.
Don't emit instructions for eh_return frame unwind reg info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187316 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite
dehao [Wed, 9 May 2012 07:10:45 +0000 (07:10 +0000)]
gcc/testsuite

* gcc.dg/predict-1.c: Remove the replicated text in this test.
* gcc.dg/predict-2.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/predict-4.c: Likewise.
* gcc.dg/predict-5.c: Likewise.
* gcc.dg/predict-6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187315 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * cgraphbuild.c (build_cgraph_edges): Do not finalize vars
hubicka [Wed, 9 May 2012 07:01:39 +0000 (07:01 +0000)]
* cgraphbuild.c (build_cgraph_edges): Do not finalize vars
with VALUE_EXPR.
* cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR
are removable.
* toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR
need to wrapup.
(compile_file): Do not output variables.
* cgraphbuild.c (varpool_finalize_decl): When var is finalized late,
output it.
* langhooks.c: Include timevar.h
(write_global_declarations): Finalize compilation unit after wrapup;
set timevars correctly.
* passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs
not to be added to varpool.
* varpool.c (varpool_assemble_decl): Sanity check that we are called
only on cases where it makes sense; skip constant pool and value expr
vars.

* lto.c (do_whole_program_analysis): Set timevars correctly.
(lto_main): Likewise.

* trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
* trans-decl.c (gfc_finish_cray_pointee): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187314 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRemove -Y option from linker command line on Linux/Sparc.
davem [Wed, 9 May 2012 04:57:49 +0000 (04:57 +0000)]
Remove -Y option from linker command line on Linux/Sparc.

gcc/

* config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option.
* config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise.
* config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187309 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Wed, 9 May 2012 00:18:43 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187307 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 8 May 2012 22:14:34 +0000 (22:14 +0000)]
2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53261
c-family/
* c-common.c (warn_logical_operator): Check that argument of
integer_zerop is not NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187300 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Tue, 8 May 2012 21:42:03 +0000 (21:42 +0000)]
gcc/
PR rtl-optimization/53278
* lower-subreg.c (decompose_multiword_subregs): Remove left-over
speed_p code from earlier patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187299 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51244
olegendo [Tue, 8 May 2012 21:36:30 +0000 (21:36 +0000)]
PR target/51244
* config/sh/sh.md (*branch_true, *branch_false): New insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187298 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoThis patch adds functionality to libgcov to enable user applications to
tejohnson [Tue, 8 May 2012 21:22:28 +0000 (21:22 +0000)]
This patch adds functionality to libgcov to enable user applications to
collect profile data only in regions of interest. This is useful, for
example, to collect profile data from a long-running server only
during the time when it is serving requests.

Specifically, the new routines __gcov_reset will clear all profile counters
to zero and __gcov_dump will write out the profile information collected so
far. A global variable is used to prevent writing out the profile a
second time during exit.

2012-05-08   Teresa Johnson  <tejohnson@google.com>

* libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions.
(__gcov_dump): Ditto.
(gcov_dump_complete): New global variable.
(gcov_exit): Export hidden to enable use in L_gcov_dump.
(__gcov_flush): Outline functionality now in gcov_clear.
* libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define.
* gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare.
* gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187297 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * cgraph.c (cgraph_call_edge_duplication_hooks): Export.
hubicka [Tue, 8 May 2012 21:05:38 +0000 (21:05 +0000)]
* cgraph.c (cgraph_call_edge_duplication_hooks): Export.
(cgraph_create_node_1): Rename to ...
(cgraph_create_empty_node): ... this one; export.
(cgraph_create_node): Update.
(cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
(cgraph_create_edge_including_clones): Likewise.
(cgraph_find_replacement_node): Likewise.
(cgraph_clone_edge): Likewise.
(cgraph_clone_node): Likewise.
(clone_function_name): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_remove_node_and_inline_clones): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Move here from
cgraphunit.c
* cgraph.h: Reorder declarations so they match file of origin.
(cgraph_create_empty_node): Declare.
* cgraphunit.c (update_call_expr): Move to cgraphclones.c
(cgraph_copy_node_for_versioning): Likewise.
(cgraph_function_versioning): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_materialize_all_clones): Likewise.
* cgraphclones.c: New file.
* Makefile.in: Update for cgraphclones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187296 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * cgraph.c (cgraph_call_edge_duplication_hooks): Export.
hubicka [Tue, 8 May 2012 21:03:18 +0000 (21:03 +0000)]
* cgraph.c (cgraph_call_edge_duplication_hooks): Export.
(cgraph_create_node_1): Rename to ...
(cgraph_create_empty_node): ... this one; export.
(cgraph_create_node): Update.
(cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
(cgraph_create_edge_including_clones): Likewise.
(cgraph_find_replacement_node): Likewise.
(cgraph_clone_edge): Likewise.
(cgraph_clone_node): Likewise.
(clone_function_name): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_remove_node_and_inline_clones): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Move here from
cgraphunit.c
* cgraph.h: Reorder declarations so they match file of origin.
(cgraph_create_empty_node): Declare.
* cgraphunit.c (update_call_expr): Move to cgraphclones.c
(cgraph_copy_node_for_versioning): Likewise.
(cgraph_function_versioning): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_materialize_all_clones): Likewise.
* cgraphclones.c: New file.
* Makefile.in: Update for cgraphclones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187295 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ChangeLog: Fix PR number of my last commit.
uros [Tue, 8 May 2012 16:09:30 +0000 (16:09 +0000)]
* ChangeLog: Fix PR number of my last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187290 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53250
uros [Tue, 8 May 2012 16:01:54 +0000 (16:01 +0000)]
PR target/53250
* config/i386/i386.c (ix86_set_reg_reg_cost): New function.
(ix86_rtx_costs): Handle SET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187289 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * basic-block.h (struct rtl_bb_info): Remove visited member and
matz [Tue, 8 May 2012 15:54:13 +0000 (15:54 +0000)]
* basic-block.h (struct rtl_bb_info): Remove visited member and
move head_ member to ...
(struct basic_block_def.basic_block_il_dependent): ... the new
member x, replacing but containing old member rtl.
(enum bb_flags): New BB_VISITED flag.
(BB_HEADER, BB_FOOTER): New macros.

* jump.c (mark_all_labels): Adjust.
* cfgcleanup.c (try_optimize_cfg): Adjust.
* cfglayout.c (record_effective_endpoints): Adjust.
(relink_block_chain): Ditto (and don't fiddle with visited).
(fixup_reorder_chain): Adjust.
(fixup_fallthru_exit_predecessor): Ditto.
(cfg_layout_duplicate_bb): Ditto.
* combine.c (update_cfg_for_uncondjump): Adjust.
* bb-reorder.c (struct bbro_basic_block_data_def): Add visited
member.
(bb_visited_trace): New accessor.
(mark_bb_visited): Move in front.
(rotate_loop): Use bb_visited_trace.
(find_traces_1_round): Ditto.
(emit_barrier_after): Ditto.
(copy_bb): Ditto, and initialize visited on resize.
(reorder_basic_blocks): Initize visited member.
(duplicate_computed_gotos): Clear bb flags at start, use
BB_VISITED flags.

* cfgrtl.c (try_redirect_by_replacing_jump): Adjust.
(rtl_verify_flow_info_1): Ditto.
(cfg_layout_split_block): Ditto.
(cfg_layout_delete_block): Ditto.
(cfg_layout_merge_blocks): Ditto.
(init_rtl_bb_info): Adjust and initialize il.x.head_ member.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187288 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53272
hp [Tue, 8 May 2012 15:21:50 +0000 (15:21 +0000)]
PR target/53272
* gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187284 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53272
hp [Tue, 8 May 2012 15:20:52 +0000 (15:20 +0000)]
PR target/53272
* config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
when a constant source operand matches an "I" constraint, the "no
CC0 change" applies to a register-destination only, not a
strict_low_part-destination.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187283 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 May 2012 12:50:18 +0000 (12:50 +0000)]
2012-05-08  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2
to zero or to (X * CST1) & CST2' when CST1 has trailing zeros.

* gcc.dg/fold-bitand-4.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187280 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
gjl [Tue, 8 May 2012 12:28:29 +0000 (12:28 +0000)]
* Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
* doc/avr-mmcu.texi: New auto-generated file.
* doc/invoke.texi (AVR Options): Include avr-mmcu.texi in order
to document all valid -mmcu= arguments.
* config/avr/avr.h (arch_info_s): New struct definition.
* config/avr/avr-devices.c (avr_texinfo): New variable.
* config/avr/gen-avr-mmcu-texi.c: New file.
* config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187279 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-08 Dehao Chen <dehao@google.com>
dehao [Tue, 8 May 2012 10:01:44 +0000 (10:01 +0000)]
2012-05-08  Dehao Chen  <dehao@google.com>
gcc/
* predict.c (find_qualified_ssa_name): New
(find_ssa_name_in_expr): New
(find_ssa_name_in_assign_stmt): New
(is_comparison_with_loop_invariant_p): New
(is_bound_expr_similar): New
(predict_iv_comparison): New
(predict_loops): Add heuristic for loop-nested branches that compare an
induction variable to a loop bound variable.
* predict.def (PRED_LOOP_IV_COMPARE): New macro
testsuite/
* gcc.dg/predict-1.c: Check if LOOP_IV_COMPARE static predict
heuristic is working properly.
* gcc.dg/predict-2.c: Likewise.
* gcc/dg/predict-3.c: Likewise.
* gcc/dg/predict-4.c: Likewise.
* gcc/dg/predict-5.c: Likewise.
* gcc/dg/predict-6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187277 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
uros [Tue, 8 May 2012 06:56:11 +0000 (06:56 +0000)]
* config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
TARGET_BDVER2 defines where appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187276 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 8 May 2012 00:18:16 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187275 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * configure.ac (PLUGIN_LD): Rename into...
ebotcazou [Mon, 7 May 2012 19:59:56 +0000 (19:59 +0000)]
* configure.ac (PLUGIN_LD): Rename into...
(PLUGIN_LD_SUFFIX): ...this and strip the target_alias triplet.
* config.in: Regenerate.
* configure: Likewise.
* collect2.c (main): Set plugin_ld_suffix to PLUGIN_LD_SUFFIX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187269 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
ebotcazou [Mon, 7 May 2012 18:57:23 +0000 (18:57 +0000)]
* tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
computation using the precision of the index type.
* gimple-fold.c (fold_const_aggregate_ref_1) <ARRAY_REF>: Likewise.
(fold_array_ctor_reference): Do index computations in the index type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187268 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: fix an ICE when parsing 0xdie, reject token 0x123i.
ian [Mon, 7 May 2012 18:53:28 +0000 (18:53 +0000)]
compiler: fix an ICE when parsing 0xdie, reject token 0x123i.

The lexer used to incorrectly accept a token like 0x123i
and interpreted it as 123i. It also used to die when encountering
0xdie.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187266 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: fix ICE in handling of rune constants.
ian [Mon, 7 May 2012 18:36:36 +0000 (18:36 +0000)]
compiler: fix ICE in handling of rune constants.

This patch corrects an ICE in handling on constant expressions
such as

const r = ^'a'

Part of issue 9.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187264 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: reject NOT operator on integer types.
ian [Mon, 7 May 2012 18:24:17 +0000 (18:24 +0000)]
compiler: reject NOT operator on integer types.

The Go specification only accepts the NOT operator on boolean
types.

Fixes issue 10.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187262 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed
gjl [Mon, 7 May 2012 16:31:44 +0000 (16:31 +0000)]
* config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed
down to plus_constant.
(expand_epilogue): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187259 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * postreload.c (reload_cse_regs): Make static.
steven [Mon, 7 May 2012 16:26:14 +0000 (16:26 +0000)]
* postreload.c (reload_cse_regs): Make static.
* reload.h (reload_cse_regs): Remove prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187258 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAllow for objects in libatomic_la_LIBADD
ro [Mon, 7 May 2012 16:11:14 +0000 (16:11 +0000)]
Allow for objects in libatomic_la_LIBADD

* Makefile.am (libatomic.map-sun): Handle objects in
libatomic_la_LIBADD.
* aclocal.m4: Regenerate.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187257 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDon't include XCFLAGS in CFLAGS
ro [Mon, 7 May 2012 16:10:11 +0000 (16:10 +0000)]
Don't include XCFLAGS in CFLAGS

* configure.ac: Add $XPCFLAGS to CFLAGS, not $XCFLAGS.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187256 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/alpha/alpha.md (clear_cache): New pattern.
rth [Mon, 7 May 2012 15:55:11 +0000 (15:55 +0000)]
    * config/alpha/alpha.md (clear_cache): New pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187255 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago config/avr/avr.c: Adjust indentation.
gjl [Mon, 7 May 2012 15:34:27 +0000 (15:34 +0000)]
config/avr/avr.c: Adjust indentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187254 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoBump minimum required MPFR version to 2.4.0.
jb [Mon, 7 May 2012 15:30:42 +0000 (15:30 +0000)]
Bump minimum required MPFR version to 2.4.0.

2012-05-07  Janne Blomqvist  <jb@gcc.gnu.org>

* configure.ac: Bump minimum MPFR version to 2.4.0.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187253 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/53245
steven [Mon, 7 May 2012 14:40:33 +0000 (14:40 +0000)]
PR middle-end/53245
* gimplify.c (preprocess_case_label_vec_for_gimple): If low or high
is folded to a type boundary value, verify that the resulting case
label is still a care range.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187248 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (ctz<mode>2): Emit rep;bsf
uros [Mon, 7 May 2012 14:38:41 +0000 (14:38 +0000)]
* config/i386/i386.md (ctz<mode>2): Emit rep;bsf
only for TARGET_GENERIC, when not optimizing for size.
(*ffs<mode>_1): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187247 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-cfg.c (verify_gimple_switch): Tighten checks.
steven [Mon, 7 May 2012 13:47:11 +0000 (13:47 +0000)]
* tree-cfg.c (verify_gimple_switch): Tighten checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187242 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/53239
jakub [Mon, 7 May 2012 13:31:00 +0000 (13:31 +0000)]
PR tree-optimization/53239
* tree-vrp.c (get_value_range): Set VR of
SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
to nonnull.

* g++.dg/opt/vrp3.C: New test.
* g++.dg/opt/vrp3-aux.cc: New file.
* g++.dg/opt/vrp3.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187240 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAllow for / comments in g++.dg/debug/dwarf2/nested-3.C
ro [Mon, 7 May 2012 12:59:43 +0000 (12:59 +0000)]
Allow for / comments in g++.dg/debug/dwarf2/nested-3.C

* g++.dg/debug/dwarf2/nested-3.C: Allow for / comments and missing
.uleb128 support in assembler output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187236 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 May 2012 12:59:05 +0000 (12:59 +0000)]
2012-05-07  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53195
* tree-inline.c (setup_one_parameter): Properly add referenced
vars from the parameters new known value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187235 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/m68k/m68k.c (m68k_sched_branch_type): Remove.
steven [Mon, 7 May 2012 12:29:05 +0000 (12:29 +0000)]
* config/m68k/m68k.c (m68k_sched_branch_type): Remove.
(sched_branch_type): Remove.
(m68k_sched_md_init_global): Don't allocate it.
(m68k_sched_md_finish_global): Don't free it.
* config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
* config/m68k/m68k.md: Set the type of insns using m68k_sched_branch_type
to bcc directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187234 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 May 2012 11:49:43 +0000 (11:49 +0000)]
2012-05-07  Richard Guenther  <rguenther@suse.de>

PR lto/42987
* g++.dg/lto/pr42987_0.C: New testcase.
* g++.dg/lto/pr42987_1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187231 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDon't use DWARF 4 on Solaris
ro [Mon, 7 May 2012 11:07:31 +0000 (11:07 +0000)]
Don't use DWARF 4 on Solaris

* config/sol2.c (solaris_override_options): New function.
* config/sol2-protos.h (solaris_override_options): Declare.
* config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187230 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 May 2012 08:48:44 +0000 (08:48 +0000)]
2012-05-07  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return
whether we failed to compute data dependences.
(loop_prefetch_arrays): Fail if we failed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187227 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-07 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 7 May 2012 08:35:17 +0000 (08:35 +0000)]
2012-05-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53255
        * resolve.c (resolve_typebound_static): Fix handling
        of overridden specific to generic operator.

2012-05-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53255
        * gfortran.dg/typebound_operator_15.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187226 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 7 May 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187223 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
uros [Sun, 6 May 2012 23:07:38 +0000 (23:07 +0000)]
* config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
Emit bsf when optimizing for size.
(*ffs<mode>_1): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187219 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53250
olegendo [Sun, 6 May 2012 22:38:57 +0000 (22:38 +0000)]
PR target/53250
* config/sh/sh.c (sh_rtx_costs): Handle SET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187218 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53227
uros [Sun, 6 May 2012 20:47:59 +0000 (20:47 +0000)]
PR target/53227
* config/i386/i386.md (swap<mode>): Rename from *swap<mode>.
(bswapdi2): Split from bswap<mode>2.  Use nonnimediate_operand
predicate for operand 1.  Force operand 1 to register for TARGET_BSWAP.
(bswapsi2): Ditto.
(*bswapdi2_doubleword): New insn pattern.
(*bswap<mode>2): Rename from *bswap<mode>2_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187215 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-06 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 6 May 2012 20:30:05 +0000 (20:30 +0000)]
2012-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41587
        * decl.c (build_struct): Don't ignore FAILED status.

2012-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41587
        * gfortran.dg/class_array_13.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187214 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 6 May 2012 19:12:51 +0000 (19:12 +0000)]
gcc/
* config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
(mips_set_reg_reg_cost): Likewise.
(mips_rtx_costs): Handle SET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187213 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 6 May 2012 18:55:20 +0000 (18:55 +0000)]
gcc/
* lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.
(compute_costs): Likewise for the zero extension.  Use set_rtx_cost
to compute the cost of moves.  Set the mode of the target register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187212 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 6 May 2012 15:06:31 +0000 (15:06 +0000)]
2012-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53152
* call.c (op_error, build_new_op_1, build_new_op): Add location_t
parameter.
(build_conditional_expr_1): Adjust.
* typeck.c (build_x_indirect_ref, build_x_binary_op,
build_x_unary_op): Add location_t parameter.
(rationalize_conditional_expr, build_x_array_ref,
build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
Adjust.
* typeck2.c (build_x_arrow): Add location_t parameter.
* semantics.c (finish_unary_op_expr): Likewise.
(finish_increment_expr, handle_omp_for_class_iterator): Adjust.
* decl2.c (grok_array_decl): Add location_t parameter.
* parser.c (cp_parser_postfix_open_square_expression,
cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
cp_parser_binary_expression, cp_parser_builtin_offsetof,
do_range_for_auto_deduction, cp_convert_range_for,
cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
location, adjust.
* pt.c (tsubst_copy_and_build): Adjust.
* tree.c (maybe_dummy_object): Likewise.
* cp-tree.h: Update declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187211 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
ebotcazou [Sun, 6 May 2012 11:28:20 +0000 (11:28 +0000)]
* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187210 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
ebotcazou [Sun, 6 May 2012 11:13:32 +0000 (11:13 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
case, use the padded type if the renamed object has an unconstrained
type with default discriminant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187209 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
ebotcazou [Sun, 6 May 2012 10:51:37 +0000 (10:51 +0000)]
* gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
conditions with only one bound.
(Raise_Error_to_gnu): Likewise.  New function extracted from...
(gnat_to_gnu) <N_Raise_Constraint_Error>: ...here.  Call above function
in regular mode only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187208 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
ebotcazou [Sun, 6 May 2012 10:46:17 +0000 (10:46 +0000)]
* gcc-interface/misc.c (gnat_post_options): Disable caret by default.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187207 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/gigi.h (make_packable_type): Declare.
ebotcazou [Sun, 6 May 2012 10:41:03 +0000 (10:41 +0000)]
* gcc-interface/gigi.h (make_packable_type): Declare.
(make_type_from_size): Likewise.
(relate_alias_sets): Likewise.
(maybe_pad_type): Adjust.
(init_gnat_to_gnu): Delete.
(destroy_gnat_to_gnu): Likewise.
(init_dummy_type): Likewise.
(destroy_dummy_type): Likewise.
(init_gnat_utils): Declare.
(destroy_gnat_utils): Likewise.
(ceil_pow2): New inline function.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
<object>: Pass True for the final processing of alignment and size.
<E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
type if necessary.
(round_up_to_align): Delete.
(ceil_alignment): Likewise.
(relate_alias_sets): Move to...
(make_aligning_type): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.
(make_type_from_size): Likewise.
* gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
(struct pad_type_hash): New type.
(pad_type_hash_table): New static variable.
(init_gnat_to_gnu): Merge into...
(init_dummy_type): Likewise.
(init_gnat_utils): ...this.  New function.
(destroy_gnat_to_gnu): Merge into...
(destroy_dummy_type): Likewise.
(destroy_gnat_utils): ...this.  New function.
(pad_type_hash_marked_p): New function.
(pad_type_hash_hash): Likewise.
(pad_type_hash_eq): Likewise.
(relate_alias_sets): ...here.
(make_aligning_type): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.  Change same_rm_size parameter into
set_rm_size; do not set TYPE_ADA_SIZE if it is false.  Do not set
null as Ada size.  Do not set TYPE_VOLATILE on the padded type.  If it
is complete and has constant size, canonicalize it.  Bail out earlier
if a warning need not be issued.
(make_type_from_size): Likewise.
<INTEGER_TYPE>: Bail out if size is too large
(gnat_types_compatible_p): Do not deal with padded types.
(convert): Compare main variants for padded types.
* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
(gnat_to_gnu): Do not convert at the end for a call to a function that
returns an unconstrained type with default discriminant.
(Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
Do not use the padded type if it is BLKmode and the inner type is
non-BLKmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187206 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdjust.
ebotcazou [Sun, 6 May 2012 09:24:21 +0000 (09:24 +0000)]
Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187204 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 6 May 2012 00:18:08 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187203 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sat, 5 May 2012 17:41:49 +0000 (17:41 +0000)]
gcc/
* rtl.h (plus_constant, plus_constant_mode): Merge into a single
plus_constant function.
* explow.c (plus_constant, plus_constant_mode): Likewise.  Assert
that the mode is sensible.
(use_anchored_address, round_push, allocate_dynamic_stack_space)
(probe_stack_range, anti_adjust_stack_and_probe): Update calls to
plus_constant.

* alias.c (canon_rtx): Likewise.
(init_alias_analysis): Likewise.
* builtins.c (expand_builtin_return_addr)
(expand_builtin_setjmp_setup, expand_builtin_longjmp)
(expand_builtin_nonlocal_goto, expand_builtin_update_setjmp_buf)
(expand_builtin_apply_args_1, expand_builtin_apply, expand_movstr)
(expand_builtin_stpcpy): Likewise.
* calls.c (save_fixed_argument_area, restore_fixed_argument_area)
(compute_argument_addresses, internal_arg_pointer_based_exp)
(expand_call, emit_library_call_value_1): Likewise.
* cfgexpand.c (expand_one_stack_var_at, expand_debug_expr): Likewise.
* combine-stack-adj.c (try_apply_stack_adjustment): Likewise.
* combine.c (combine_simplify_rtx, force_to_mode): Likewise.
* cse.c (insert_const_anchor, find_reg_offset_for_const)
(use_related_value, fold_rtx): Likewise.
* cselib.c (cselib_subst_to_values): Likewise.
* dse.c (record_store, check_mem_read_rtx): Likewise.
* dwarf2out.c (rtl_for_decl_location, gen_variable_die): Likewise.
* emit-rtl.c (adjust_address_1): Likewise.
* except.c (sjlj_emit_function_enter)
(expand_builtin_extract_return_addr)
(expand_builtin_frob_return_addr): Likewise.
* expmed.c (expand_divmod): Likewise.
* expr.c (move_by_pieces, store_by_pieces, store_by_pieces_1)
(emit_move_resolve_push, push_block, emit_push_insn, store_expr)
(expand_expr_addr_expr_1, expand_expr_real_1): Likewise.
* function.c (assign_stack_local_1)
(instantiate_virtual_regs_in_rtx): Likewise.
* optabs.c (prepare_cmp_insn): Likewise.
* recog.c (offsettable_address_addr_space_p): Likewise.
* reload.c (find_reloads_address, form_sum)
(find_reloads_subreg_address): Likewise.
* reload1.c (init_reload, eliminate_regs_1)
(eliminate_regs_in_insn): Likewise.
* simplify-rtx.c (simplify_unary_operation_1)
(simplify_binary_operation_1, simplify_plus_minus): Likewise.
* var-tracking.c (compute_cfa_pointer, prepare_call_arguments)
(vt_add_function_parameter): Likewise.

* config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/alpha/alpha.c (alpha_legitimize_address_1)
(get_unaligned_address, alpha_expand_unaligned_load)
(alpha_expand_unaligned_store, alpha_expand_unaligned_load_words)
(alpha_expand_unaligned_store_words, alpha_expand_block_clear)
(alpha_expand_builtin_establish_vms_condition_handler)
(alpha_setup_incoming_varargs, emit_frame_store_1)
(alpha_expand_prologue, alpha_expand_epilogue)
(alpha_use_linkage): Likewise.
* config/alpha/alpha.md: Likewise.

* config/arm/arm.c (arm_trampoline_init, legitimize_pic_address)
(arm_load_pic_register, arm_pic_static_addr, arm_legitimize_address)
(thumb_legitimize_address, arm_gen_load_multiple_1)
(arm_gen_store_multiple_1, arm_gen_multiple_op, gen_ldm_seq)
(gen_stm_seq, gen_const_stm_seq, arm_block_move_unaligned_straight)
(arm_block_move_unaligned_loop, arm_gen_movmemqi, arm_reload_in_hi)
(arm_reload_out_hi, arm_reorg, vfp_emit_fstmd, emit_multi_reg_push)
(emit_sfm, thumb_set_frame_pointer, arm_expand_prologue)
(thumb1_emit_multi_reg_push, thumb1_expand_prologue)
(thumb_expand_movmemqi, arm_set_return_address)
(thumb_set_return_address): Likewise.
* config/arm/arm.md: Likewise.

* config/avr/avr.c (avr_incoming_return_addr_rtx)
(avr_prologue_setup_frame, expand_epilogue)
(avr_const_address_lo16): Likewise.

* config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg)
(bfin_expand_prologue, bfin_trampoline_init, bfin_expand_call)
(bfin_output_mi_thunk): Likewise.

* config/c6x/c6x.c (c6x_initialize_trampoline)
(c6x_output_mi_thunk): Likewise.

* config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.

* config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx)
(cris_expand_prologue, cris_expand_epilogue, cris_gen_movem_load)
(cris_emit_movem_store, cris_trampoline_init): Likewise.
* config/cris/cris.md: Likewise.

* config/darwin.c (machopic_indirect_data_reference)
(machopic_legitimize_pic_address): Likewise.

* config/epiphany/epiphany.c (epiphany_emit_save_restore)
(epiphany_expand_prologue, epiphany_expand_epilogue)
(epiphany_trampoline_init): Likewise.
* config/epiphany/epiphany.md: Likewise.

* config/fr30/fr30.c (fr30_move_double): Likewise.

* config/frv/frv.c (frv_dwarf_store, frv_expand_prologue)
(frv_expand_block_move, frv_expand_block_clear, frv_return_addr_rtx)
(frv_index_memory, unspec_got_name, frv_find_base_term)
(frv_output_dwarf_dtprel): Likewise.

* config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx)
(h8300_swap_into_er6, h8300_swap_out_of_er6): Likewise.

* config/i386/i386.h (RETURN_ADDR_RTX): Likewise.
* config/i386/i386.c (setup_incoming_varargs_64)
(setup_incoming_varargs_ms_64, choose_baseaddr)
(ix86_emit_save_reg_using_mov, ix86_adjust_stack_and_probe)
(ix86_emit_probe_stack_range, ix86_expand_prologue)
(ix86_emit_restore_reg_using_pop, ix86_emit_leave)
(ix86_expand_epilogue, legitimize_pic_address, ix86_legitimize_address)
(ix86_split_long_move, ix86_expand_movmem, ix86_expand_setmem)
(ix86_static_chain, ix86_trampoline_init, x86_this_parameter)
(x86_output_mi_thunk): Likewise.
* config/i386/i386.md: Likewise.

* config/ia64/ia64.c (ia64_expand_load_address)
(ia64_expand_tls_address, ia64_expand_move, ia64_split_tmode)
(do_spill, ia64_trampoline_init): Likewise.

* config/iq2000/iq2000.c (iq2000_va_start)
(iq2000_emit_frame_related_store, iq2000_expand_prologue)
(iq2000_expand_eh_return, iq2000_setup_incoming_varargs)
(iq2000_print_operand, iq2000_legitimize_address): Likewise.

* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.

* config/m32c/m32c.c (m32c_return_addr_rtx)
(m32c_expand_insv): Likewise.

* config/m32r/m32r.c (m32r_setup_incoming_varargs)
(m32r_legitimize_pic_address, m32r_print_operand)
(m32r_print_operand_address): Likewise.

* config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
* config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue)
(m68k_expand_epilogue, legitimize_pic_address)
(m68k_output_mi_thunk): Likewise.
* config/m68k/m68k.md: Likewise.

* config/mcore/mcore.c (mcore_expand_prolog): Likewise.
(mcore_expand_epilog): Likewise.
* config/mcore/mcore.md: Likewise.

* config/mep/mep.c (mep_allocate_initial_value)
(mep_expand_prologue, mep_expand_epilogue): Likewise.

* config/microblaze/microblaze.c (double_memory_operand)
(microblaze_block_move_loop): Likewise.

* config/mips/mips.c (mips_strip_unspec_address, mips_add_offset)
(mips_setup_incoming_varargs, mips_va_start, mips_block_move_loop)
(mips_print_operand, mips16e_save_restore_reg, mips_save_restore_reg)
(mips_expand_prologue, mips_epilogue_set_cfa)
(mips_expand_epilogue): Likewise.
* config/mips/mips.md: Likewise.

* config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx)
(mmix_expand_prologue, mmix_expand_epilogue): Likewise.

* config/mn10300/mn10300.c (mn10300_gen_multiple_store)
(mn10300_builtin_saveregs, mn10300_trampoline_init): Likewise.

* config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/moxie/moxie.c (moxie_static_chain): Likewise.

* config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address)
(store_reg, set_reg_plus_d, pa_expand_prologue, load_reg)
(pa_return_addr_rtx, hppa_builtin_saveregs)
(pa_trampoline_init): Likewise.
* config/pa/pa.md: Likewise.

* config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.

* config/picochip/picochip.c (picochip_static_chain): Likewise.

* config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_address)
(setup_incoming_varargs, print_operand, rs6000_return_addr)
(rs6000_emit_eh_reg_restore, rs6000_emit_probe_stack_range)
(rs6000_emit_epilogue)
(rs6000_machopic_legitimize_pic_address): Likewise.

* config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.

* config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise.
(DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/s390/s390.c (s390_decompose_address, legitimize_pic_address)
(s390_delegitimize_address, print_operand, annotate_constant_pool_refs)
(replace_constant_pool_ref, s390_return_addr_rtx, s390_back_chain_rtx)
(save_fpr, restore_fpr, save_gprs, restore_gprs, s390_emit_prologue)
(s390_emit_epilogue, s390_function_profiler): Likewise.
* config/s390/s390.md: Likewise.

* config/score/score.c (score_add_offset, score_prologue): Likewise.

* config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs)
(sh_output_mi_thunk): Likewise.
* config/sh/sh.md: Likewise.

* config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX)
(RETURN_ADDR_RTX, INCOMING_RETURN_ADDR_RTX): Likewise.
* config/sparc/sparc.c (sparc_legitimize_pic_address)
(sparc_emit_probe_stack_range, emit_save_or_restore_regs)
(emit_window_save, sparc_flat_expand_prologue, sparc_struct_value_rtx)
(emit_and_preserve): Likewise.
* config/sparc/sparc.md: Likewise.

* config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg)
(spu_setup_incoming_varargs, ea_load_store_inline)
(spu_expand_load): Likewise.

* config/stormy16/stormy16.c (xstormy16_expand_prologue)
(combine_bnp): Likewise.

* config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/tilegx/tilegx.c (tilegx_setup_incoming_varargs)
(tilegx_expand_unaligned_load, tilegx_trampoline_init): Likewise.

* config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/tilepro/tilepro.c (tilepro_setup_incoming_varargs)
(tilepro_expand_unaligned_load, tilepro_trampoline_init): Likewise.

* config/v850/v850.c (expand_prologue, expand_epilogue): Likewise.
* config/v850/v850.md: Likewise.

* config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise.
* config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue)
(print_operand_address, vax_trampoline_init): Likewise.

* config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr)
(xtensa_function_value_regno_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187199 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Sat, 5 May 2012 11:32:26 +0000 (11:32 +0000)]
2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/43772
testsuite/
* c-c++-common/pr43772.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187195 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Sat, 5 May 2012 11:30:57 +0000 (11:30 +0000)]
2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/43772
c-family/
* c-common.c (warn_logical_operator): Do not warn if either side
is already true or false.
testsuite/
* c-c++-common/pr43772.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187194 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-05 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 5 May 2012 08:49:43 +0000 (08:49 +0000)]
2012-05-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41600
* trans-array.c (build_array_ref): New static function.
(gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
* trans-expr.c (gfc_get_vptr_from_expr): New function.
(gfc_conv_derived_to_class): Add a new argument for a caller
supplied vptr and use it if it is not NULL.
(gfc_conv_procedure_call): Add NULL to call to above.
symbol.c (gfc_is_associate_pointer): Return true if symbol is
a class object.
* trans-stmt.c (trans_associate_var): Handle class associate-
names.
* expr.c (gfc_get_variable_expr): Supply the array-spec if
possible.
* trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
for class types.
* trans.h : Add prototypes for gfc_get_vptr_from_expr and
gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
* resolve.c (resolve_variable): For class arrays, ensure that
the target expression has all the necessary _data references.
(resolve_assoc_var): Throw a "not yet implemented" error for
class array selectors that need a temporary.
* match.c (copy_ts_from_selector_to_associate,
select_derived_set_tmp, select_class_set_tmp): New functions.
(select_type_set_tmp): Call one of last two new functions.
(gfc_match_select_type): Copy_ts_from_selector_to_associate is
called if associate-name is typed.

PR fortran/53191
* resolve.c (resolve_ref): C614 applied to class expressions.

2012-05-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41600
* gfortran.dg/select_type_26.f03 : New test.
* gfortran.dg/select_type_27.f03 : New test.

PR fortran/53191
* gfortran.dg/select_type_28.f03 : New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187192 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 49010,24518 MOD/MODULO fixes.
jb [Sat, 5 May 2012 07:59:22 +0000 (07:59 +0000)]
PR 49010,24518 MOD/MODULO fixes.

gcc/fortran:

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/49010
PR fortran/24518
* intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
* simplify.c (gfc_simplify_mod): Use mpfr_fmod.
(gfc_simplify_modulo): Likewise, use copysign to fix the result if
zero.
* trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
builtin_fmod is always available. For modulo, call copysign to fix
the result when signed zeros are enabled.

testsuite:

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/49010
PR fortran/24518
* gfortran.dg/mod_sign0_1.f90: New test.
* gfortran.dg/mod_large_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187191 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix handling of temporary files.
jb [Sat, 5 May 2012 06:30:51 +0000 (06:30 +0000)]
Fix handling of temporary files.

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

        * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
        algorithm for choosing temp directory.

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

        * config.h.in: Regenerated.
        * configure: Regenerated.
        * configure.ac: Add checks for getegid and __secure_getenv.
        * io/unix.c (P_tmpdir): Fallback definition for macro.
        (tempfile_open): New function.
        (tempfile): Use secure_getenv, call tempfile_open to try each
        directory in turn.
        * libgfortran.h (DEFAULT_TMPDIR): Remove macro.
        (secure_getenv): New macro/prototype.
        * runtime/environ.c (secure_getenv): New function.
        (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
        * runtime/main.c (find_addr2line): Use secure_getenv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187190 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 5 May 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187188 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 4 May 2012 22:43:33 +0000 (22:43 +0000)]
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

     * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187184 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Andrew Pinski <apinski@cavium.com>
pinskia [Fri, 4 May 2012 21:03:27 +0000 (21:03 +0000)]
2012-05-04  Andrew Pinski  <apinski@cavium.com>

* expr.c (get_def_for_expr_class): New function.
(convert_tree_comp_to_rtx): New function.
(expand_cond_expr_using_cmove): New function.
(expand_expr_real_2 <case COND_EXPR>): Call
expand_cond_expr_using_cmove first and return if it succeeds.
Remove the check for HAVE_conditional_move since we should have
already converted it to a conditional move.
* config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
modes of DImode for 32bits and TImode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187183 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR other/29442
steven [Fri, 4 May 2012 20:04:47 +0000 (20:04 +0000)]
PR other/29442
* read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
(print_md_ptr_loc, print_c_condition): Use them.
* read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
* genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
attr_file, dfa_file, latency_file): New global variables.
(write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
write_upcase, write_indent, write_length_unit_log, write_test_expr,
write_attr_get, write_insn_cases, write_eligible_delay,
write_const_num_delay_slots): Accept FILE pointer and toss it around.
Update all callers.
(write_header, open_outfile, handle_arg): New funcions.
(make_automaton_attrs): Write prototypes as extern to the output
files.
(main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
names from the command line.  Open the output files and write out
internal functions for DFA functions to dfa_file_name, insn latency
functions to latency_file_name, and everything else to attr_file.
* Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
(BACKEND): Build libbackend first.
(MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
(.PRECIOUS): Likewise.
(insn-dfatab.o): New rule.
(insn-latencytab.o): New rule.
(simple_rtl_generated_c): Do not include insn-attrtab.c.
(s-attrtab): New rule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187181 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/md.texi (attr_flag): Update for changes of previous revision.
steven [Fri, 4 May 2012 19:40:02 +0000 (19:40 +0000)]
    * doc/md.texi (attr_flag): Update for changes of previous revision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187179 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * rtl.def (ATTR_FLAG): Remove probability indicating flags.
steven [Fri, 4 May 2012 19:37:59 +0000 (19:37 +0000)]
* rtl.def (ATTR_FLAG): Remove probability indicating flags.
* genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely,
ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely.
* reorg.c (get_jump_flags): Do not set the removed flags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187178 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Correct parse of for with possible composite literal.
ian [Fri, 4 May 2012 19:33:18 +0000 (19:33 +0000)]
compiler: Correct parse of for with possible composite literal.

Fixes, e.g., "for first := true; first; first = false {".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187176 138bc75d-0d04-0410-961f-82ee72b054a4