gcc.git
12 years agore PR bootstrap/53249 (Bootstrap failure)
Richard Sandiford [Wed, 9 May 2012 09:22:57 +0000 (09:22 +0000)]
re PR bootstrap/53249 (Bootstrap failure)

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.

From-SVN: r187320

12 years agomips.c (mips16_gp_pseudo_reg): Remove line information from the instruction produced.
Maciej W. Rozycki [Wed, 9 May 2012 09:19:44 +0000 (09:19 +0000)]
mips.c (mips16_gp_pseudo_reg): Remove line information from the instruction produced.

* config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
information from the instruction produced.

From-SVN: r187319

12 years agostor-layout.c (bit_from_pos): Document.
Richard Guenther [Wed, 9 May 2012 08:56:25 +0000 (08:56 +0000)]
stor-layout.c (bit_from_pos): Document.

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.

From-SVN: r187317

12 years agore PR target/53271 (powerpc-eabispe build fails with ice on unwind-dw2.c)
Alan Modra [Wed, 9 May 2012 08:17:09 +0000 (17:47 +0930)]
re PR target/53271 (powerpc-eabispe build fails with ice on unwind-dw2.c)

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.

From-SVN: r187316

12 years agopredict-1.c: Remove the replicated text in this test.
Dehao Chen [Wed, 9 May 2012 07:10:45 +0000 (07:10 +0000)]
predict-1.c: Remove the replicated text in this test.

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.

From-SVN: r187315

12 years agocgraphbuild.c (build_cgraph_edges): Do not finalize vars with VALUE_EXPR.
Jan Hubicka [Wed, 9 May 2012 07:01:39 +0000 (09:01 +0200)]
cgraphbuild.c (build_cgraph_edges): Do not finalize vars with VALUE_EXPR.

* 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.

From-SVN: r187314

12 years agoRemove -Y option from linker command line on Linux/Sparc.
David S. Miller [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.

From-SVN: r187309

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

From-SVN: r187307

12 years agore PR c++/53261 (ICE in tree_strip_nop_conversions)
Manuel López-Ibáñez [Tue, 8 May 2012 22:14:34 +0000 (22:14 +0000)]
re PR c++/53261 (ICE in tree_strip_nop_conversions)

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.

From-SVN: r187300

12 years agore PR rtl-optimization/53278 (internal compiler error: in df_uses_record, at df-scan...
Richard Sandiford [Tue, 8 May 2012 21:42:03 +0000 (21:42 +0000)]
re PR rtl-optimization/53278 (internal compiler error: in df_uses_record, at df-scan.c:3179 when compiling libgcc2.c __mulvdi3 on armv5tel-linux)

gcc/
PR rtl-optimization/53278
* lower-subreg.c (decompose_multiword_subregs): Remove left-over
speed_p code from earlier patch.

From-SVN: r187299

12 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Tue, 8 May 2012 21:36:30 +0000 (21:36 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (*branch_true, *branch_false): New insns.

From-SVN: r187298

12 years agoThis patch adds functionality to libgcov to enable user applications to collect...
Teresa Johnson [Tue, 8 May 2012 21:22:28 +0000 (21:22 +0000)]
This patch adds functionality to libgcov to enable user applications to collect...

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.

From-SVN: r187297

12 years agocgraph.c (cgraph_call_edge_duplication_hooks): Export.
Jan Hubicka [Tue, 8 May 2012 21:05:38 +0000 (21:05 +0000)]
cgraph.c (cgraph_call_edge_duplication_hooks): Export.

* 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.

From-SVN: r187296

12 years agocgraph.c (cgraph_call_edge_duplication_hooks): Export.
Jan Hubicka [Tue, 8 May 2012 21:03:18 +0000 (23:03 +0200)]
cgraph.c (cgraph_call_edge_duplication_hooks): Export.

* 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.

From-SVN: r187295

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

From-SVN: r187290

12 years agore PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)
Uros Bizjak [Tue, 8 May 2012 16:01:54 +0000 (18:01 +0200)]
re PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)

PR target/53250
* config/i386/i386.c (ix86_set_reg_reg_cost): New function.
(ix86_rtx_costs): Handle SET.

From-SVN: r187289

12 years agobasic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ...
Michael 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 ...

* 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.

From-SVN: r187288

12 years agore PR target/53272 (wrong condition-codes for strict-low-part destination and small...
Hans-Peter Nilsson [Tue, 8 May 2012 15:21:50 +0000 (15:21 +0000)]
re PR target/53272 (wrong condition-codes for strict-low-part destination and small-integer source)

PR target/53272
* gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test.

From-SVN: r187284

12 years agore PR target/53272 (wrong condition-codes for strict-low-part destination and small...
Hans-Peter Nilsson [Tue, 8 May 2012 15:20:52 +0000 (15:20 +0000)]
re PR target/53272 (wrong condition-codes for strict-low-part destination and small-integer source)

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.

From-SVN: r187283

12 years agofold-const.c (fold_binary_loc): Fold (X * CST1) & CST2 to zero or to (X * CST1) ...
Richard Guenther [Tue, 8 May 2012 12:50:18 +0000 (12:50 +0000)]
fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2 to zero or to (X * CST1) & CST2' when...

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.

From-SVN: r187280

12 years agoMakefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
Georg-Johann Lay [Tue, 8 May 2012 12:28:29 +0000 (12:28 +0000)]
Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.

* 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.

From-SVN: r187279

12 years agopredict.c (find_qualified_ssa_name): New
Dehao Chen [Tue, 8 May 2012 10:01:44 +0000 (10:01 +0000)]
predict.c (find_qualified_ssa_name): New

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.

From-SVN: r187277

12 years agoi386.c (has_dispatch): Use TARGET_BDVER1 and TARGET_BDVER2 defines where appropriate.
Uros Bizjak [Tue, 8 May 2012 06:56:11 +0000 (08:56 +0200)]
i386.c (has_dispatch): Use TARGET_BDVER1 and TARGET_BDVER2 defines where appropriate.

* config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
TARGET_BDVER2 defines where appropriate.

From-SVN: r187276

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

From-SVN: r187275

12 years agoconfigure.ac (PLUGIN_LD): Rename into...
Eric Botcazou [Mon, 7 May 2012 19:59:56 +0000 (19:59 +0000)]
configure.ac (PLUGIN_LD): Rename into...

* 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.

From-SVN: r187269

12 years agotree-dfa.c (get_ref_base_and_extent): Do the offset computation using the precision...
Eric Botcazou [Mon, 7 May 2012 18:57:23 +0000 (18:57 +0000)]
tree-dfa.c (get_ref_base_and_extent): Do the offset computation using the precision of the index type.

* 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.

From-SVN: r187268

12 years agocompiler: fix an ICE when parsing 0xdie, reject token 0x123i.
Ian Lance Taylor [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.

From-SVN: r187266

12 years agocompiler: fix ICE in handling of rune constants.
Ian Lance Taylor [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.

From-SVN: r187264

12 years agocompiler: reject NOT operator on integer types.
Ian Lance Taylor [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.

From-SVN: r187262

12 years agoavr.c (avr_prologue_setup_frame): Fix mode passed down to plus_constant.
Georg-Johann Lay [Mon, 7 May 2012 16:31:44 +0000 (16:31 +0000)]
avr.c (avr_prologue_setup_frame): Fix mode passed down to plus_constant.

* config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed
down to plus_constant.
(expand_epilogue): Ditto.

From-SVN: r187259

12 years agopostreload.c (reload_cse_regs): Make static.
Steven Bosscher [Mon, 7 May 2012 16:26:14 +0000 (16:26 +0000)]
postreload.c (reload_cse_regs): Make static.

* postreload.c (reload_cse_regs): Make static.
* reload.h (reload_cse_regs): Remove prototype.

From-SVN: r187258

12 years agoAllow for objects in libatomic_la_LIBADD
Rainer Orth [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.

From-SVN: r187257

12 years agoDon't include XCFLAGS in CFLAGS
Rainer Orth [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.

From-SVN: r187256

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

From-SVN: r187255

12 years agoconfig/avr/avr.c: Adjust indentation.
Georg-Johann Lay [Mon, 7 May 2012 15:34:27 +0000 (15:34 +0000)]
config/avr/avr.c: Adjust indentation.

From-SVN: r187254

12 years agoBump minimum required MPFR version to 2.4.0.
Janne Blomqvist [Mon, 7 May 2012 15:30:42 +0000 (18:30 +0300)]
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.

From-SVN: r187253

12 years agore PR middle-end/53245 (ice in expand_case)
Steven Bosscher [Mon, 7 May 2012 14:40:33 +0000 (14:40 +0000)]
re PR middle-end/53245 (ice in expand_case)

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.

From-SVN: r187248

12 years agoi386.md (ctz<mode>2): Emit rep;bsf only for TARGET_GENERIC, when not optimizing for...
Uros Bizjak [Mon, 7 May 2012 14:38:41 +0000 (16:38 +0200)]
i386.md (ctz<mode>2): Emit rep;bsf only for TARGET_GENERIC, when not optimizing for size.

* config/i386/i386.md (ctz<mode>2): Emit rep;bsf
only for TARGET_GENERIC, when not optimizing for size.
(*ffs<mode>_1): Ditto.

From-SVN: r187247

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

* tree-cfg.c (verify_gimple_switch): Tighten checks.

From-SVN: r187242

12 years agore PR tree-optimization/53239 (VRP vs named value return opt)
Jakub Jelinek [Mon, 7 May 2012 13:31:00 +0000 (15:31 +0200)]
re PR tree-optimization/53239 (VRP vs named value return opt)

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.

From-SVN: r187240

12 years agoAllow for / comments in g++.dg/debug/dwarf2/nested-3.C
Rainer Orth [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.

From-SVN: r187236

12 years agore PR lto/53195 (ICE seg fault in lto (in set_is_used (tp=Unhandled dwarf expression...
Richard Biener [Mon, 7 May 2012 12:59:05 +0000 (12:59 +0000)]
re PR lto/53195 (ICE seg fault in lto (in set_is_used (tp=Unhandled dwarf expression opcode 0xf3 ) at ../.././gcc/tree-flow-inline.h:567))

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.

From-SVN: r187235

12 years agom68k.c (m68k_sched_branch_type): Remove.
Steven Bosscher [Mon, 7 May 2012 12:29:05 +0000 (12:29 +0000)]
m68k.c (m68k_sched_branch_type): Remove.

* 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.

From-SVN: r187234

12 years agore PR lto/42987 (Testcases local1-a.cc and local1.C cause ICE when compiled with...
Richard Guenther [Mon, 7 May 2012 11:49:43 +0000 (11:49 +0000)]
re PR lto/42987 (Testcases local1-a.cc and local1.C cause ICE when compiled with -flto -g)

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.

From-SVN: r187231

12 years agoDon't use DWARF 4 on Solaris
Rainer Orth [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.

From-SVN: r187230

12 years agotree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return whether we failed to...
Richard Guenther [Mon, 7 May 2012 08:48:44 +0000 (08:48 +0000)]
tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return whether we failed to compute data dependences.

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.

From-SVN: r187227

12 years agore PR fortran/53255 ([OOP] With TYPE, wrong type-bound operator used: of parent inste...
Tobias Burnus [Mon, 7 May 2012 08:35:17 +0000 (10:35 +0200)]
re PR fortran/53255 ([OOP] With TYPE, wrong type-bound operator used: of parent instead of overridden one)

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.

From-SVN: r187226

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

From-SVN: r187223

12 years agoi386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
Uros Bizjak [Sun, 6 May 2012 23:07:38 +0000 (01:07 +0200)]
i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.

* config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
Emit bsf when optimizing for size.
(*ffs<mode>_1): Ditto.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r187219

12 years agore PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)
Oleg Endo [Sun, 6 May 2012 22:38:57 +0000 (22:38 +0000)]
re PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)

PR target/53250
* config/sh/sh.c (sh_rtx_costs): Handle SET.

From-SVN: r187218

12 years agore PR target/53227 (FAIL: gcc.target/i386/movbe-2.c scan-assembler-times movbe[ ...
Uros Bizjak [Sun, 6 May 2012 20:47:59 +0000 (22:47 +0200)]
re PR target/53227 (FAIL: gcc.target/i386/movbe-2.c scan-assembler-times movbe[ \t] 4)

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.

From-SVN: r187215

12 years agore PR fortran/41587 ([OOP] ICE with ALLOCATABLE CLASS components)
Tobias Burnus [Sun, 6 May 2012 20:30:05 +0000 (22:30 +0200)]
re PR fortran/41587 ([OOP] ICE with ALLOCATABLE CLASS components)

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.

From-SVN: r187214

12 years agomips.c (mips_set_reg_reg_piece_cost): New function.
Richard Sandiford [Sun, 6 May 2012 19:12:51 +0000 (19:12 +0000)]
mips.c (mips_set_reg_reg_piece_cost): New function.

gcc/
* config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
(mips_set_reg_reg_cost): Likewise.
(mips_rtx_costs): Handle SET.

From-SVN: r187213

12 years agolower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.
Richard Sandiford [Sun, 6 May 2012 18:55:20 +0000 (18:55 +0000)]
lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.

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.

From-SVN: r187212

12 years agore PR c++/53152 (In "no match for operatorXX" error message gives the wrong column...
Paolo Carlini [Sun, 6 May 2012 15:06:31 +0000 (15:06 +0000)]
re PR c++/53152 (In "no match for operatorXX" error message gives the wrong column info)

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.

From-SVN: r187211

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

From-SVN: r187210

12 years agodecl.c (gnat_to_gnu_entity): In the renaming case...
Eric Botcazou [Sun, 6 May 2012 11:13:32 +0000 (11:13 +0000)]
decl.c (gnat_to_gnu_entity): In the renaming case...

* 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.

From-SVN: r187209

12 years agotrans.c (Loop_Statement_to_gnu): Also handle invariant conditions with only one bound.
Eric Botcazou [Sun, 6 May 2012 10:51:37 +0000 (10:51 +0000)]
trans.c (Loop_Statement_to_gnu): Also handle invariant conditions with only one bound.

* 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.

From-SVN: r187208

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

From-SVN: r187207

12 years agogigi.h (make_packable_type): Declare.
Eric Botcazou [Sun, 6 May 2012 10:41:03 +0000 (10:41 +0000)]
gigi.h (make_packable_type): Declare.

* 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.

From-SVN: r187206

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

From-SVN: r187204

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

From-SVN: r187203

12 years agortl.h (plus_constant, [...]): Merge into a single plus_constant function.
Richard Sandiford [Sat, 5 May 2012 17:41:49 +0000 (17:41 +0000)]
rtl.h (plus_constant, [...]): Merge into a single plus_constant function.

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.

From-SVN: r187199

12 years agore PR c/43772 (Errant -Wlogical-op warning when testing limits)
Manuel López-Ibáñez [Sat, 5 May 2012 11:32:26 +0000 (11:32 +0000)]
re PR c/43772 (Errant -Wlogical-op warning when testing limits)

2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

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

From-SVN: r187195

12 years agore PR c/43772 (Errant -Wlogical-op warning when testing limits)
Manuel López-Ibáñez [Sat, 5 May 2012 11:30:57 +0000 (11:30 +0000)]
re PR c/43772 (Errant -Wlogical-op warning when testing limits)

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.

From-SVN: r187194

12 years agore PR fortran/41600 ([OOP] SELECT TYPE with associate-name => exp: Arrays not supported)
Paul Thomas [Sat, 5 May 2012 08:49:43 +0000 (08:49 +0000)]
re PR fortran/41600 ([OOP] SELECT TYPE with associate-name => exp: Arrays not supported)

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.

From-SVN: r187192

12 years agoPR 49010,24518 MOD/MODULO fixes.
Janne Blomqvist [Sat, 5 May 2012 07:59:22 +0000 (10:59 +0300)]
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.

From-SVN: r187191

12 years agoFix handling of temporary files.
Janne Blomqvist [Sat, 5 May 2012 06:30:51 +0000 (09:30 +0300)]
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.

From-SVN: r187190

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

From-SVN: r187188

12 years agosemantics.c (cxx_eval_constant_expression, [...]): Tidy.
Paolo Carlini [Fri, 4 May 2012 22:43:33 +0000 (22:43 +0000)]
semantics.c (cxx_eval_constant_expression, [...]): Tidy.

2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r187184

12 years agoexpr.c (get_def_for_expr_class): New function.
Andrew Pinski [Fri, 4 May 2012 21:03:27 +0000 (21:03 +0000)]
expr.c (get_def_for_expr_class): New function.

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.

From-SVN: r187183

12 years agore PR other/29442 (insn-attrtab has grown too large)
Steven Bosscher [Fri, 4 May 2012 20:04:47 +0000 (20:04 +0000)]
re PR other/29442 (insn-attrtab has grown too large)

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.

From-SVN: r187181

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

From-SVN: r187179

12 years agortl.def (ATTR_FLAG): Remove probability indicating flags.
Steven Bosscher [Fri, 4 May 2012 19:37:59 +0000 (19:37 +0000)]
rtl.def (ATTR_FLAG): Remove probability indicating flags.

* 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.

From-SVN: r187178

12 years agocompiler: Correct parse of for with possible composite literal.
Ian Lance Taylor [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 {".

From-SVN: r187176

12 years agore PR fortran/53175 (link failure for private module variables used in function speci...
Tobias Burnus [Fri, 4 May 2012 18:54:25 +0000 (20:54 +0200)]
re PR fortran/53175 (link failure for private module variables used in function specification)

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

        PR fortran/53175
        * resolve.c (resolve_variable): Set public_used
        if a private module variable is used in a (public)
        specification expression.
        * trans-decl.c (gfc_finish_var_decl): Mark those
        TREE_PUBLIC.

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

        PR fortran/53175
        gfortran.dg/public_private_module_5.f90: New.

From-SVN: r187175

12 years agore PR fortran/53111 (Derived types cannot be USE-associated again with -std=f95)
Tobias Burnus [Fri, 4 May 2012 18:53:17 +0000 (20:53 +0200)]
re PR fortran/53111 (Derived types cannot be USE-associated again with -std=f95)

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

        PR fortran/53111
        * resolve.c (resolve_fl_derived): Fix -std=f95
        diagnostic for generic vs. DT names.

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

        PR fortran/53111
        * gfortran.dg/constructor_7.f90: New.
        * gfortran.dg/constructor_8.f90: New.

From-SVN: r187174

12 years agore PR target/53228 (target attributes in libcpp/lex.c cause illegal instructions...
Uros Bizjak [Fri, 4 May 2012 16:42:23 +0000 (18:42 +0200)]
re PR target/53228 (target attributes in libcpp/lex.c cause illegal instructions to be used elsewhere)

PR target/53228
* config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
(TARGET_CMOV): Rename from TARGET_CMOVE.
(TARGET_CMOVE): New define.
* config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
Do not set TARGET_CMOVE here.

From-SVN: r187168

12 years agoEnable -Wunused-local-typedefs when -Wall or -Wunused is on
Dodji Seketeli [Fri, 4 May 2012 16:38:27 +0000 (16:38 +0000)]
Enable -Wunused-local-typedefs when -Wall or -Wunused is on

Now that the libstdc++ testsuite is run with -ftrack-macro-location by
default, this patch triggers the -Wunused-local-typedefs warning when
-Wunused (and -Wall) is turned on.

The patch has been reviewed and accepted[1] a while ago, but was waiting
for the -ftrack-macro-expansion work to go in first.

Bootstrapped and tested again on x86_64-unknown-linux-gnu against
trunk.

Applied to the mainline.

[1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00605.html

gcc/

* opts.c (finish_options): Activate -Wunused-local-typedefs if
-Wunused is activated.
* doc/invoke.texi: Update blurb of -Wunused-local-typedefs.

From-SVN: r187167

12 years agore PR c++/53166 (static_assert produces bogus warning)
Paolo Carlini [Fri, 4 May 2012 15:02:05 +0000 (15:02 +0000)]
re PR c++/53166 (static_assert produces bogus warning)

/cp
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53166
* pt.c (instantiate_class_template_1): Increase / decrease
c_inhibit_evaluation_warnings around the tsubst_expr call
for STATIC_ASSERT_CONDITION.
(tsubst_expr, case STATIC_ASSERT): Likewise.
* typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
c_inhibit_evaluation_warnings in the OPT_Waddress warnings.

/testsuite
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53166
* g++.dg/cpp0x/static_assert7.C: New.

From-SVN: r187165

12 years agolibgo: Update to Go 1.0.1 release.
Ian Lance Taylor [Fri, 4 May 2012 15:01:11 +0000 (15:01 +0000)]
libgo: Update to Go 1.0.1 release.

From-SVN: r187163

12 years ago2012-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Fri, 4 May 2012 14:44:59 +0000 (14:44 +0000)]
2012-05-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (*movmem_short, *clrmem_short)
(*cmpmem_short): Move the mode check from the insn condition to
the match_scratch.

From-SVN: r187159

12 years agore PR tree-optimization/52633 (Compiler ICE in vect_is_simple_use_1 (ARM))
Ulrich Weigand [Fri, 4 May 2012 12:46:04 +0000 (12:46 +0000)]
re PR tree-optimization/52633 (Compiler ICE in vect_is_simple_use_1 (ARM))

gcc/
PR tree-optimization/52633
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
(vect_recog_over_widening_pattern): Remove handling of code that was
already detected as over-widening pattern.  Remove special handling
of "unsigned" cases.  Instead, support general case of conversion
of the shift result to another type.

gcc/testsuite/
PR tree-optimization/52633
* gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be
recognized as widening shifts instead of over-widening.
* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-4.c: Likewise.
* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
* gcc.target/arm/pr52633.c: New test.

From-SVN: r187158

12 years agotree-vect-patterns.c (vect_single_imm_use): New function.
Ulrich Weigand [Fri, 4 May 2012 12:27:04 +0000 (12:27 +0000)]
tree-vect-patterns.c (vect_single_imm_use): New function.

* tree-vect-patterns.c (vect_single_imm_use): New function.
(vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
(vect_recog_over_widening_pattern): Likewise.
(vect_recog_widen_shift_pattern): Likewise.

From-SVN: r187157

12 years agotree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
Ulrich Weigand [Fri, 4 May 2012 12:26:03 +0000 (12:26 +0000)]
tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.

* tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
(vect_handle_widen_op_by_const): Use it instead of open-coding test.
(vect_recog_widen_mult_pattern): Likewise.
(vect_operation_fits_smaller_type): Likewise.
(vect_recog_over_widening_pattern): Likewise.
(vect_recog_widen_shift_pattern): Add to vect_same_loop_or_bb_p test.

From-SVN: r187156

12 years agore PR lto/50602 (ICE in tree_nrv, at tree-nrv.c:155 during large LTO build)
Richard Guenther [Fri, 4 May 2012 11:47:06 +0000 (11:47 +0000)]
re PR lto/50602 (ICE in tree_nrv, at tree-nrv.c:155 during large LTO build)

2012-05-04  Richard Guenther  <rguenther@suse.de>

PR lto/50602
* lto-wrapper.c (merge_and_complain): Complain about mismatches
of -freg-struct-return and -fpcc-struct-return.
(run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
from the input file options and ignore those from the link
command line.

From-SVN: r187155

12 years agore PR tree-optimization/53168 (ICE in find_or_generate_expression, at tree-ssa-pre...
Richard Guenther [Fri, 4 May 2012 11:30:35 +0000 (11:30 +0000)]
re PR tree-optimization/53168 (ICE in find_or_generate_expression, at tree-ssa-pre.c:3053)

2012-05-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53168
* tree-ssa-pre.c (phi_translate_1): Only handle type-punned
memory reads when the result is a constant we can pun.

* gcc.dg/torture/pr53168.c: New testcase.
* gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.

From-SVN: r187153

12 years agocommon.opt (flto-report): Do not mark as Optimization.
Richard Biener [Fri, 4 May 2012 11:08:42 +0000 (11:08 +0000)]
common.opt (flto-report): Do not mark as Optimization.

2012-05-04  Richard Guenther  <rguenther@suse.de>

* common.opt (flto-report): Do not mark as Optimization.

lto/
* lang.opt (fwpa): Do not mark as Optimization.
(fltrans): Likewise.

* gcc.dg/lto/pr53214_0.c: New testcase.

From-SVN: r187151

12 years agore PR target/48496 ('asm' operand requires impossible reload)
Eric Botcazou [Fri, 4 May 2012 11:01:34 +0000 (11:01 +0000)]
re PR target/48496 ('asm' operand requires impossible reload)

PR target/48496
* recog.c (constrain_operands): If extra constraints are present, also
accept pseudo-registers with equivalent memory locations during reload.

From-SVN: r187150

12 years agocollect2.c (may_unlink_output_file): New global.
Olivier Hainque [Fri, 4 May 2012 08:05:52 +0000 (08:05 +0000)]
collect2.c (may_unlink_output_file): New global.

        * collect2.c (may_unlink_output_file): New global.
        (maybe_unlink): Honor it.
        * collect2.h: Add extern for it.
        * tlink.c (do_tlink): Set it to true if the link succeeded.

From-SVN: r187148

12 years agogcc.c (eval_spec_function): Finalize/restore the current string obstack state as...
Olivier Hainque [Fri, 4 May 2012 08:03:54 +0000 (08:03 +0000)]
gcc.c (eval_spec_function): Finalize/restore the current string obstack state as part of the context...

        * gcc.c (eval_spec_function): Finalize/restore the current string
        obstack state as part of the context push/pop operations.

From-SVN: r187146

12 years agocompiler: Error if importing same package twice with same name.
Ian Lance Taylor [Fri, 4 May 2012 05:24:02 +0000 (05:24 +0000)]
compiler: Error if importing same package twice with same name.

From-SVN: r187142

12 years agore PR rtl-optimization/52804 (IRA/RELOAD allocate wrong register on ARM for cortex-m0)
Bin Cheng [Fri, 4 May 2012 02:52:27 +0000 (02:52 +0000)]
re PR rtl-optimization/52804 (IRA/RELOAD allocate wrong register on ARM for cortex-m0)

PR rtl-optimization/52804
* reload1.c (reload_reg_reaches_end_p): Check whether successor
reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
of current one with type RELOAD_FOR_INPADDR_ADDRESS.
Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
RELOAD_FOR_OUTADDR_ADDRESS.

From-SVN: r187139

12 years agore PR c++/24985 (caret diagnostics)
Manuel López-Ibáñez [Fri, 4 May 2012 00:31:55 +0000 (00:31 +0000)]
re PR c++/24985 (caret diagnostics)

2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/24985
gcc/
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
for macro expansion.

From-SVN: r187134

12 years agoDaily bump.
GCC Administrator [Fri, 4 May 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187131

12 years agore PR c/51712 (-Wtype-limits should not trigger for types of implementation-defined...
Manuel López-Ibáñez [Thu, 3 May 2012 22:37:01 +0000 (22:37 +0000)]
re PR c/51712 (-Wtype-limits should not trigger for types of implementation-defined signedness)

2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/51712
c-family/
* c-common.c (expr_original_type): New.
(shorten_compare): Do not warn for enumeration types.
testsuite/
* c-c++-common/pr51712.c: New.

From-SVN: r187125

12 years agoflags.h (flag_permissive): Do not declare.
Manuel López-Ibáñez [Thu, 3 May 2012 22:28:21 +0000 (22:28 +0000)]
flags.h (flag_permissive): Do not declare.

2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
* flags.h (flag_permissive): Do not declare.
* diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
option specially.
* toplev.c (flag_permissive): Do not define.
* c-tree.h (system_header_p): Delete unused.
c-family/
* c.opt (fpermissive): Add Var(flag_permissive).

From-SVN: r187123

12 years agoFix long double float miscompilations on sparc 64-bit.
David S. Miller [Thu, 3 May 2012 22:19:35 +0000 (22:19 +0000)]
Fix long double float miscompilations on sparc 64-bit.

PR target/52684
* config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
MEM directly into a libcall, mark it's MEM_EXPR as addressable.
(sparc_emit_float_lib_cmp): Likewise.

From-SVN: r187120

12 years agore PR target/53199 (__builtin_bswap64 and __builtin_bswap32 generate errors if -mcpu...
Michael Meissner [Thu, 3 May 2012 21:47:45 +0000 (21:47 +0000)]
re PR target/53199 (__builtin_bswap64 and __builtin_bswap32 generate errors if -mcpu=power6)

[gcc]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/53199
* config/rs6000/rs6000.md (bswapdi splitters): If
-mavoid-indexed-addresses (or -mcpu=power6 which sets it by
default) is used, generate an alternate sequence that does not
depend on using indexed addressing.

[gcc/testsuite]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/53199
* gcc.target/powwerpc/pr53199.c: New file.

From-SVN: r187119

12 years agogengtype.c (write_types): Fix warning message.
Jason Merrill [Thu, 3 May 2012 21:29:07 +0000 (17:29 -0400)]
gengtype.c (write_types): Fix warning message.

* gengtype.c (write_types): Fix warning message.
(write_local): Likewise.

From-SVN: r187118