Uros Bizjak [Mon, 6 Jul 2015 16:43:33 +0000 (18:43 +0200)]
i386.md (extv<mode>): Rename from extv.
* config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
modes for operands 0 and 1. Use SImode for operands 2 and 3.
Copy operand 1 to a temporary if !ext_register_operand. Remove
ancient extract_bit_field workaround.
(*extv<mode>): Rename from *mov<mode>_extv_1.
(*extvqi): Rename from *movqi_extv_q.
(extzv<mode>): Rename from extzv. Use SWI248 modes for
operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
to a temporary if !ext_register_operand. Remove ancient
extract_bit_field workaround.
(*extzv<mode>): Rename from *mov<mode>_extzv_1.
(*extzvqi): Rename from *movqi_extzv_1.
(*testqi_ext_3): Remove modes from const_int_operand predicated
operands. Add "n" constraint.
(*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
operand. Add "J" constraint.
(*btsq, *btrq, *btcq peephole2s): Remove mode from
const_0_to_63 predicated operand.
(regmode): New insn attribute.
(*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
to nonmemory_operand. Use regmode insn attribute.
(*jcc_bt<mode>_1): Convert operand 2 to SImode.
(*jcc_bt<mode>_mask): Remove mode from operand 3.
(*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
(tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
operands. Use "N" constraint instead of "n".
From-SVN: r225463
Steven G. Kargl [Mon, 6 Jul 2015 16:33:38 +0000 (16:33 +0000)]
io.c (check_char_variable): New function.
2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
* io.c (check_char_variable): New function.
(match_open_element, match_close_element, match_file_element,
match_dt_element, match_inquire_element, match_wait_element): Use it.
2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/iomsg_2.f90: New test.
From-SVN: r225462
Alan Lawrence [Mon, 6 Jul 2015 16:21:55 +0000 (16:21 +0000)]
[ARM] fix movdi expander to avoid illegal ldrd/strd
* config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
From-SVN: r225461
H.J. Lu [Mon, 6 Jul 2015 15:17:44 +0000 (08:17 -0700)]
Add -march=iamcu to optimize for IA MCU
IA MCU is based on Intel Pentium ISA without x87 and passing parameters
in registers. We want to optimize for IA MCU without changing existing
Pentium codegen. This patch adds PROCESSOR_IAMCU for -march=iamcu,
which is based on -march=pentium with updated cost tables.
gcc/
PR target/66749
* config/i386/i386.c (iamcu_cost): New.
(m_IAMCU): Likewise.
(initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
(processor_target_table): Add an entry for "iamcu".
(processor_alias_table): Likewise.
(ix86_issue_rate): Handle PROCESSOR_IAMCU.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
* config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
* config/i386/x86-tune.def: Updated for m_IAMCU.
gcc/testsuite/
PR target/66749
* gcc.target/i386/pr66749.c: New test.
From-SVN: r225460
Richard Biener [Mon, 6 Jul 2015 14:41:22 +0000 (14:41 +0000)]
re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)
2015-07-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/66772
* tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
values are available in the PHI node BB when there are
still unexecutable edges.
* gcc.dg/torture/pr66772-1.c: New testcase.
* gcc.dg/torture/pr66772-2.c: Likewise.
From-SVN: r225459
Andrew Bennett [Mon, 6 Jul 2015 14:16:14 +0000 (14:16 +0000)]
MIPS: For micromips allow the near-far-3.c test to use the jals instruction to call near_func.
testsuite/
* gcc.target/mips/near-far-3.c: Allow the call to near_func to use
the jals instruction.
From-SVN: r225457
Richard Biener [Mon, 6 Jul 2015 13:12:39 +0000 (13:12 +0000)]
re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)
2015-07-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/66767
* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
Make sure to build the alignment test on a SSA name without
final alignment info valid only if the alignment test
evaluates to true.
From-SVN: r225454
Bernd Schmidt [Mon, 6 Jul 2015 12:49:26 +0000 (12:49 +0000)]
Fix assert caused by bad cfg manipulation in bfin.
PR target/66620
* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
loop start when inserting LSETUP.
From-SVN: r225453
H.J. Lu [Mon, 6 Jul 2015 11:50:47 +0000 (11:50 +0000)]
Allow -mincoming-stack-boundary=3 with -mno-sse
Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is
allowed with -mno-sse in 64-bit mode.
gcc/
PR target/53383
* config/i386/i386.c (ix86_option_override_internal): Allow
-mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
gcc/testsuite/
PR target/53383
* gcc.target/i386/pr53383-1.c: New file.
* gcc.target/i386/pr53383-2.c: Likewise.
* gcc.target/i386/pr53383-3.c: Likewise.
From-SVN: r225452
Rainer Orth [Mon, 6 Jul 2015 11:43:07 +0000 (11:43 +0000)]
Rename read-md.c:decimal_string
* read-md.c (decimal_string): Rename to ...
(md_decimal_string): ... this.
(handle_enum): Reflect this.
From-SVN: r225451
Szabolcs Nagy [Mon, 6 Jul 2015 11:00:03 +0000 (11:00 +0000)]
[AArch64] PR target/66731 Fix fnmul insn with -frounding-math
gcc/Changelog:
2015-07-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/66731
* config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
gcc/testsuite/Changelog:
2015-07-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
* gcc.target/aarch64/fnmul-1.c: New.
* gcc.target/aarch64/fnmul-2.c: New.
* gcc.target/aarch64/fnmul-3.c: New.
* gcc.target/aarch64/fnmul-4.c: New.
From-SVN: r225450
Richard Biener [Mon, 6 Jul 2015 10:37:33 +0000 (10:37 +0000)]
re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
2015-07-06 Richard Biener <rguenther@suse.de>
PR middle-end/66759
* match.pd: Add missing constraint of y to REAL_CST in
REAL_CST - x CMP y to y - CST CMP x simplification.
* gcc.dg/torture/pr66759.c: New testcase.
From-SVN: r225449
Andre Vehreschild [Mon, 6 Jul 2015 10:27:38 +0000 (12:27 +0200)]
Added missing Changelog entry for testsuite.
From-SVN: r225448
Andre Vehreschild [Mon, 6 Jul 2015 10:26:12 +0000 (12:26 +0200)]
re PR fortran/58586 (ICE with derived type with allocatable component passed by value)
gcc/testsuite/ChangeLog:
2015-07-06 Andre Vehreschild <vehre@gmx.de>
PR fortran/58586
* gfortran.dg/alloc_comp_class_3.f03: New test.
* gfortran.dg/alloc_comp_class_4.f03: New test.
gcc/fortran/ChangeLog:
2015-07-06 Andre Vehreschild <vehre@gmx.de>
PR fortran/58586
* resolve.c (resolve_symbol): Non-private functions in modules
with allocatable or pointer components are marked referenced
now. Furthermore is the default init especially for those
components now done in gfc_conf_procedure_call preventing
duplicate code.
* trans-decl.c (gfc_generate_function_code): Generate a fake
result decl for functions returning an object with allocatable
components and initialize them.
* trans-expr.c (gfc_conv_procedure_call): For value typed trees
use the tree without indirect ref. And for non-decl trees
add a temporary variable to prevent evaluating the tree
multiple times (prevent multiple function evaluations).
* trans.h: Made gfc_trans_structure_assign () protoype
available, which is now needed by trans-decl.c:gfc_generate_
function_code(), too.
From-SVN: r225447
Eric Botcazou [Mon, 6 Jul 2015 08:43:58 +0000 (08:43 +0000)]
re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
PR tree-optimization/66757
* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
From-SVN: r225446
Francois-Xavier Coudert [Mon, 6 Jul 2015 08:22:34 +0000 (08:22 +0000)]
re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
PR libfortran/40267
* Makefile.am: Remove libgfortranbegin targets.
* Makefile.in: Regenerate.
* fmain.c: Remove.
From-SVN: r225445
Sebastian Huber [Mon, 6 Jul 2015 07:21:48 +0000 (07:21 +0000)]
libgomp: Add comment to clarify last_team usage
libgomp/ChangeLog
2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libgomp.h (gomp_thread_pool): Comment last_team field.
From-SVN: r225444
Bin Cheng [Mon, 6 Jul 2015 05:57:56 +0000 (05:57 +0000)]
re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
PR tree-optimization/66720
* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
vect_int_mult.
From-SVN: r225443
GCC Administrator [Mon, 6 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225440
Chung-Lin Tang [Sun, 5 Jul 2015 21:49:08 +0000 (21:49 +0000)]
nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
Delete extern declaration.
(gprel_constant_p): Add extern declaration.
* config/nios2/constraints.md ("S"): Use gprel_constant_p
instead of nios2_symbol_ref_in_small_data_p.
* config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
(nios2_symbol_ref_in_small_data_p): Make static.
(gprel_constant_p): Make non-static.
gcc/testsuite/
* gcc.target/nios2/gprel-offset.c: New test.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r225437
François Dumont [Sun, 5 Jul 2015 21:16:07 +0000 (21:16 +0000)]
hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
2015-07-05 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
rehash container.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
Adapt.
From-SVN: r225436
Gerald Pfeifer [Sun, 5 Jul 2015 20:36:22 +0000 (20:36 +0000)]
fragments.texi (Target Fragment): Convert debian.org link to use https.
* doc/fragments.texi (Target Fragment): Convert debian.org
link to use https.
* doc/install.texi (Configuration): Ditto.
From-SVN: r225435
Jakub Jelinek [Sun, 5 Jul 2015 12:14:41 +0000 (14:14 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
* tree-vect-stmts.c (vectorizable_call): Replace uses of
GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
From-SVN: r225434
Jakub Jelinek [Sun, 5 Jul 2015 12:11:57 +0000 (14:11 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
* tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
vectorizable_load, vectorizable_condition): Move vectype,
nunits, ncopies computation after checking what kind of statement
stmt is.
From-SVN: r225433
Richard Sandiford [Sun, 5 Jul 2015 08:02:59 +0000 (08:02 +0000)]
target-insns.def (extv, [...]): New targetm instruction patterns.
gcc/
* target-insns.def (extv, extzv, insv): New targetm instruction
patterns.
* optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
interface.
* recog.c (simplify_while_replacing): Likewise.
From-SVN: r225432
Richard Sandiford [Sun, 5 Jul 2015 08:01:48 +0000 (08:01 +0000)]
target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
gcc/
* target-insns.def (doloop_begin, doloop_end): New targetm
instruction patterns.
* loop-init.c: Include target.h.
(pass_loop2::gate): Use the new targetm patterns instead of
HAVE_*/gen_* interface.
(pass_rtl_doloop::gate): Likewise.
(pass_rtl_doloop::execute): Remove preprocessor condition.
* hw-doloop.c: Build unconditionally.
* loop-doloop.c: Likewise.
(doloop_optimize): Use the new targetm patterns instead of
HAVE_*/gen_* interface.
(doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
* modulo-sched.c (doloop_register_get): Likewise.
From-SVN: r225431
Richard Sandiford [Sun, 5 Jul 2015 07:59:14 +0000 (07:59 +0000)]
target-insns.def (clear_cache): New targetm instruction pattern.
gcc/
* target-insns.def (clear_cache): New targetm instruction pattern.
* builtins.c (expand_builtin___clear_cache): Use it instead of
HAVE_*/gen_* interface.
From-SVN: r225430
Richard Sandiford [Sun, 5 Jul 2015 07:58:30 +0000 (07:58 +0000)]
gcc/
* target-insns.def (allocate_stack, check_stack, probe_stack)
(probe_stack_address, split_stack_prologue, split_stack_space_check):
New targetm instruction patterns.
* explow.c (allocate_dynamic_stack_space): Use them instead of
HAVE_*/gen_* interface.
(emit_stack_probe): Likewise.
(probe_stack_range): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
From-SVN: r225429
Richard Sandiford [Sun, 5 Jul 2015 07:56:45 +0000 (07:56 +0000)]
target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.
gcc/
* target-insns.def (stack_protect_set, stack_protect_test): New
targetm instruction patterns.
* cfgexpand.c (stack_protect_prologue): Use them instead of
HAVE_*/gen_* interface.
* function.c (stack_protect_epilogue): Likewise.
From-SVN: r225428
Richard Sandiford [Sun, 5 Jul 2015 07:55:03 +0000 (07:55 +0000)]
expr.h (gen_move_insn_uncast): Delete.
gcc/
* expr.h (gen_move_insn_uncast): Delete.
* expr.c (gen_move_insn_uncast): Delete.
From-SVN: r225427
Richard Sandiford [Sun, 5 Jul 2015 07:52:32 +0000 (07:52 +0000)]
gcc/
* target-insns.def (restore_stack_block, restore_stack_function)
(restore_stack_nonlocal, save_stack_block, save_stack_function)
(save_stack_nonlocal): New targetm instruction patterns.
* builtins.c (expand_builtin_apply): Use them instead of
HAVE_*/gen_* interface.
* explow.c (emit_stack_save, emit_stack_restore): Likewise.
From-SVN: r225426
Richard Sandiford [Sun, 5 Jul 2015 07:51:07 +0000 (07:51 +0000)]
target-insns.def (trap): New targetm instruction pattern.
gcc/
* target-insns.def (trap): New targetm instruction pattern.
* builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
interface.
* explow.c (allocate_dynamic_stack_space): Likewise.
* ifcvt.c (find_if_header): Likewise.
From-SVN: r225425
Richard Sandiford [Sun, 5 Jul 2015 07:50:31 +0000 (07:50 +0000)]
target-insns.def (prefetch): New targetm instruction pattern.
gcc/
* target-insns.def (prefetch): New targetm instruction pattern.
* tree-ssa-loop-prefetch.c: Include targeth.
(tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
of HAVE_*/gen_* interface.
* builtins.c (expand_builtin_prefetch): Likewise.
* toplev.c (process_options): Likewise.
From-SVN: r225424
Richard Sandiford [Sun, 5 Jul 2015 07:49:16 +0000 (07:49 +0000)]
target-insns.def (untyped_call, [...]): New targetm instruction patterns.
gcc/
* target-insns.def (untyped_call, untyped_return): New targetm
instruction patterns.
* builtins.c (expand_builtin_apply): Use them instead of
HAVE_*/gen_* interface.
(result_vector): Define unconditionally.
From-SVN: r225423
Richard Sandiford [Sun, 5 Jul 2015 07:48:04 +0000 (07:48 +0000)]
gcc/
* target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
(builtin_setjmp_setup, exception_receiver, nonlocal_goto)
(nonlocal_goto_receiver): New targetm instruction patterns.
* builtins.c (expand_builtin_setjmp_setup): Use them instead
of HAVE_*/gen_* interface.
(expand_builtin_setjmp_receiver): Likewise.
(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
* except.c (expand_dw2_landing_pad_for_region): Likewise.
From-SVN: r225422
Richard Sandiford [Sun, 5 Jul 2015 07:44:45 +0000 (07:44 +0000)]
target.def: Add code_for_* hooks.
gcc/
* target.def: Add code_for_* hooks.
* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
* target-insns.def (casesi, tablejump): New targetm instruction
patterns.
* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
(do_tablejump): Likewise.
* stmt.c (expand_switch_as_decision_tree_p): Likewise.
(expand_sjlj_dispatch_table): Likewise.
* targhooks.c (default_case_values_threshold): Likewise.
From-SVN: r225421
Sandra Loosemore [Sun, 5 Jul 2015 02:56:18 +0000 (22:56 -0400)]
nios2.c (save_reg, [...]): Use plus_constant.
2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
Use rtx_insn * instead of rtx.
(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
(nios2_call_tls_get_addr): Likewise.
(nios2_emit_expensive_div): Likewise.
(nios2_emit_move_sequence): Change return type to bool.
* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
Change return type to bool.
From-SVN: r225420
GCC Administrator [Sun, 5 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225419
Bernd Edlinger [Sat, 4 Jul 2015 19:02:18 +0000 (19:02 +0000)]
re PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux-gnu tool chains.)
2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/66747
* config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
From-SVN: r225416
Steven G. Kargl [Sat, 4 Jul 2015 15:37:04 +0000 (15:37 +0000)]
[multiple changes]
2015-07-04 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66725
* io.c (is_char_type): New function to test for BT_CHARACTER
(gfc_match_open, gfc_match_close, match_dt_element): Use it.
2015-07-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66725
* gfortran.dg/pr66725.f90: New test.
From-SVN: r225415
John David Anglin [Sat, 4 Jul 2015 13:42:55 +0000 (13:42 +0000)]
re PR target/66114 (some indirect_jump patterns use operands[] in their condition when they shouldn't)
PR target/66114
* config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
of register_operand. Remove constraint.
From-SVN: r225412
Marc Glisse [Sat, 4 Jul 2015 11:15:33 +0000 (13:15 +0200)]
tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.
2015-07-04 Marc Glisse <marc.glisse@inria.fr>
* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
the first argument.
From-SVN: r225411
GCC Administrator [Sat, 4 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225409
Paolo Carlini [Fri, 3 Jul 2015 18:56:40 +0000 (18:56 +0000)]
attribs.c (decl_attributes): Guard inform with the return value of the preceding warning.
2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
* attribs.c (decl_attributes): Guard inform with the return value
of the preceding warning.
From-SVN: r225402
Carlos Sánchez de La Lama [Fri, 3 Jul 2015 17:28:43 +0000 (17:28 +0000)]
re PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))
2015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
PR target/52482
* config/powerpc/sjlj.S: Port to Xcode 2.5.
From-SVN: r225388
James Greenhalgh [Fri, 3 Jul 2015 14:49:05 +0000 (14:49 +0000)]
[Patch docs obvious AArch64] Fix position of -moverride documentation
gcc/
* doc/invoke.texi (moverride): Move to correct section.
From-SVN: r225384
Jason Merrill [Fri, 3 Jul 2015 14:42:21 +0000 (10:42 -0400)]
wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.
* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
Avoid narrowing error.
From-SVN: r225383
Segher Boessenkool [Fri, 3 Jul 2015 14:37:26 +0000 (16:37 +0200)]
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
PR rtl-optimization/66706
* gcc.target/powerpc/shift-int.c: New testcase.
From-SVN: r225382
Jonathan Wakely [Fri, 3 Jul 2015 14:08:48 +0000 (15:08 +0100)]
status_cxx2017.xml: Update status table.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.
From-SVN: r225380
Ville Voutilainen [Fri, 3 Jul 2015 14:08:37 +0000 (17:08 +0300)]
Implement std::experimental::fundamentals_v2::propagate_const.
2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::experimental::fundamentals_v2::propagate_const.
* include/Makefile.am: Add propagate_const.
* include/Makefile.in: Regenerate.
* include/experimental/propagate_const: New.
* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
From-SVN: r225379
Richard Biener [Fri, 3 Jul 2015 13:46:34 +0000 (13:46 +0000)]
genmatch.c (commutative_tree_code, [...]): Copy from tree.c
2015-07-03 Richard Biener <rguenther@suse.de>
* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
Copy from tree.c
(dt_operand::gen_gimple_expr): After valueizing operands
re-canonicalize operand order for commutative tree codes.
From-SVN: r225378
H.J. Lu [Fri, 3 Jul 2015 13:08:35 +0000 (06:08 -0700)]
Add the missing file
From-SVN: r225377
H.J. Lu [Fri, 3 Jul 2015 12:25:10 +0000 (12:25 +0000)]
Add IA MCU support to x86intrin.h
x86intrin.h has useful intrinsics for instructions for IA MCU. This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.
gcc/
PR target/66746.
* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
is defined.
(__crc32w): Likewise.
(__crc32d): Likewise.
(__rdpmc): Likewise.
(__rdtscp): Likewise.
(_rdpmc): Likewise.
(_rdtscp): Likewise.
* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
is defined.
gcc/testsuite/
PR target/66746.
* gcc.target/i386/pr66746.c: New file.
From-SVN: r225376
Richard Biener [Fri, 3 Jul 2015 12:02:35 +0000 (12:02 +0000)]
fold-const.c (fold_mathfn_compare): Remove.
2015-07-03 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_mathfn_compare): Remove.
(fold_inf_compare): Likewise.
(fold_comparison): Move floating point comparison simplifications...
* match.pd: ... to patterns here. Introduce simple_comparisons
operator list and use it for patterns formerly in fold_comparison.
From-SVN: r225375
Christophe Lyon [Fri, 3 Jul 2015 10:52:03 +0000 (10:52 +0000)]
vget_lane.c: New testcase.
2015-07-03 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.
From-SVN: r225374
Paolo Carlini [Fri, 3 Jul 2015 09:42:52 +0000 (09:42 +0000)]
2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
* Fix component of my last ChangeLog entries.
From-SVN: r225371
James Greenhalgh [Fri, 3 Jul 2015 09:25:54 +0000 (09:25 +0000)]
[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
gcc/
PR tree-optimization/66119
* toplev.c (process_options): Don't set up default values for
the sra_max_scalarization_size_{speed,size} parameters.
* tree-sra (analyze_all_variable_accesses): If no values
have been set for the sra_max_scalarization_size_{speed,size}
parameters, call get_move_ratio to get target defaults.
gcc/testsuite/
PR tree-optimization/66119
* g++.dg/opt/pr66119.C: New.
From-SVN: r225369
Richard Biener [Fri, 3 Jul 2015 07:55:10 +0000 (07:55 +0000)]
fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
2015-07-03 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
* match.pd: ... here.
From-SVN: r225368
Gerald Pfeifer [Fri, 3 Jul 2015 01:35:18 +0000 (01:35 +0000)]
re PR target/37072 (-mfancy-math-387 should be the default in FreeBSD)
PR target/37072
* doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
is not actually the default on FreeBSD.
From-SVN: r225367
Jason Merrill [Fri, 3 Jul 2015 00:45:34 +0000 (20:45 -0400)]
re PR c++/66743 (ICE: tree check: expected record_type or union_type or qual_union_type, have underlying_type in for_each_template_parm_r, at cp/pt.c:8234)
PR c++/66743
* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
TYPE_VALUES_RAW rather than TYPE_FIELDS.
From-SVN: r225365
GCC Administrator [Fri, 3 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225364
Andrew Sutton [Thu, 2 Jul 2015 23:16:51 +0000 (23:16 +0000)]
pt.c (type_dependent_expression_p): Handle expressions that refer to variable templates.
* pt.c (type_dependent_expression_p): Handle expressions
that refer to variable templates.
From-SVN: r225361
David Edelsohn [Thu, 2 Jul 2015 22:01:36 +0000 (22:01 +0000)]
* trans-common.c: Include <map> after system.h.
From-SVN: r225358
Jonathan Wakely [Thu, 2 Jul 2015 21:52:38 +0000 (22:52 +0100)]
acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi
* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
--with-default-libstdcxx-abi
* configure: Regenerate.
* doc/xml/manual/configure.xml: Document valid arguments.
From-SVN: r225356
Paul Thomas [Thu, 2 Jul 2015 20:39:56 +0000 (20:39 +0000)]
re PR fortran/52846 ([F2008] Support submodules)
2015-07-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52846
* decl.c (get_proc_name): Make a partially populated interface
symbol to carry the characteristics of a module procedure and
its result.
(variable_decl): Declarations of dummies or results in the
abreviated form of module procedure is an error.
(gfc_match_import): IMPORT is not permitted in the interface
declaration of module procedures.
(match_attr_spec): Submodule variables have implicit save
attribute for F2008 onwards.
(gfc_match_prefix): Add 'module' as the a prefix and set the
module_procedure attribute.
(gfc_match_formal_arglist): For a module procedure keep the
interface formal_arglist from the interface, match new the
formal arguments and then compare the number and names of each.
(gfc_match_procedure): Add case COMP_SUBMODULE.
(gfc_match_function_decl, gfc_match_subroutine_decl): Set the
module_procedure attribute.
(gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If
attr abr_modproc_decl is set, switch the message accordingly
for subroutines and functions.
(gfc_match_submod_proc): New function to match the abbreviated
style of submodule declaration.
* gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
attribute bits 'used_in_submodule' and 'module_procedure'. Add
the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
'gfc_check_result_characteristics'.
* interface.c : Add the prefix 'gfc_' to the names of functions
'check_dummy(result)_characteristics' and all their references.
* match.h : Add prototype for 'gfc_match_submod_proc' and
'gfc_match_submodule'.
(check_sym_interfaces): A module procedure is not an error in
a module procedure statment in a generic interface.
* module.c (gfc_match_submodule): New function. Add handling
for the 'module_procedure' attribute bit.
(gfc_use_module): Make sure that a submodule cannot use itself.
* parse.c (decode_statement): Set attr has_'import_set' for
the interface declaration of module procedures. Handle a match
occurring in 'gfc_match_submod_proc' and a match for
'submodule'.
(gfc_enclosing_unit): Include the state COMP_SUBMODULE.
(gfc_ascii_statement): Add END SUBMODULE.
(accept_statement): Add ST_SUBMODULE.
(parse_spec): Disallow statement functions in a submodule
specification part.
(parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
twice each.
(get_modproc_result): Copy the result symbol of the interface.
(parse_progunit): Call it.
(set_syms_host_assoc): Make symbols from the ancestor module
and submodules use associated, as required by the standard and
set all private components public. Module procedures 'external'
attribute bit is reset and the 'used_in_submodule' bit is set.
(parse_module): If this is a submodule, use the ancestor module
and submodules. Traverse the namespace, calling
'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
* parse.h : Add COMP_SUBMODULE.
* primary.c (match_variable): Add COMP_SUBMODULE.
* resolve.c (compare_fsyms): New function to compare the dummy
characteristics of a module procedure with its interface.
(resolve_fl_procedure): Compare the procedure, result and dummy
characteristics of a module_procedure with its interface, using
'compare_fsyms' for the dummy arguments.
* symbol.c (gfc_add_procedure): Suppress the check for existing
procedures in the case of a module procedure.
(gfc_add_explicit_interface): Skip checks that must fail for
module procedures.
(gfc_add_type): Allow a new type to be added to module
procedures, their results or their dummy arguments.
(gfc_copy_dummy_sym): New function to generate new dummy args
and copy the characteristics from the interface.
* trans-decl.c (gfc_sym_mangled_function_id): Module procedures
must always have their names mangled as if they are symbols
coming from a declaration in a module.
(gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
(gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
set are set DECL_EXTERNAL as if they were use associated.
2015-07-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52846
* gfortran.dg/submodule_1.f90: New test
* gfortran.dg/submodule_2.f90: New test
* gfortran.dg/submodule_3.f90: New test
* gfortran.dg/submodule_4.f90: New test
* gfortran.dg/submodule_5.f90: New test
* gfortran.dg/submodule_6.f90: New test
* gfortran.dg/submodule_7.f90: New test
From-SVN: r225354
Paolo Carlini [Thu, 2 Jul 2015 18:54:41 +0000 (18:54 +0000)]
re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.)
/libcpp
2015-07-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53690
* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
return type to bool. Fix encoding of \u0000 and \U00000000 in C++.
(convert_ucn): Adjust call.
* lex.c (forms_identifier_p): Likewise.
* internal.h (_cpp_valid_ucn): Adjust declaration.
/gcc/testsuite
2015-07-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53690
* g++.dg/cpp/pr53690.C: New.
From-SVN: r225353
Bill Schmidt [Thu, 2 Jul 2015 18:30:35 +0000 (18:30 +0000)]
rs6000-builtin.def (CMPGE_16QI): New built-in definition.
[gcc]
2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
definition.
(CMPGE_8HI): Likewise.
(CMPGE_4SI): Likewise.
(CMPGE_2DI): Likewise.
(CMPGE_U16QI): Likewise.
(CMPGE_U8HI): Likewise.
(CMPGE_U4SI): Likewise.
(CMPGE_U2DI): Likewise.
(CMPLE_16QI): Likewise.
(CMPLE_8HI): Likewise.
(CMPLE_4SI): Likewise.
(CMPLE_2DI): Likewise.
(CMPLE_U16QI): Likewise.
(CMPLE_U8HI): Likewise.
(CMPLE_U4SI): Likewise.
(CMPLE_U2DI): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
ALTIVEC_BUILTIN_VEC_CMPLE.
* config/rs6000/vector.md (vector_ge<mode>): Restrict to
floating-point vector modes.
(vector_nlt<mode>): New define_expand.
(vector_nltu<mode>): Likewise.
(vector_ngt<mode>): Likewise.
(vector_ngtu<mode>): Likewise.
[gcc/testsuite]
2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-cmp.c: New test.
From-SVN: r225351
Steven G. Kargl [Thu, 2 Jul 2015 17:29:04 +0000 (17:29 +0000)]
re PR fortran/56520 (Syntax error causes misleading message: "Invalid character in name")
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/56520
* match.c (gfc_match_name): Special case unary minus and plus.
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/56520
* gfortran.dg/pr56520.f90: New test.
From-SVN: r225349
Steven G. Kargl [Thu, 2 Jul 2015 17:02:10 +0000 (17:02 +0000)]
re PR fortran/66545 (ICE on using undefined parameter/variable values)
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66545
* primary.c (match_sym_complex_part): Do not dereference NULL pointer.
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66545
* gfortran.dg/pr66545_1.f90: New test.
* gfortran.dg/pr66545_2.f90: New test.
From-SVN: r225348
Segher Boessenkool [Thu, 2 Jul 2015 16:27:11 +0000 (18:27 +0200)]
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
PR rtl-optimization/66706
* combine.c (make_compound_operation): If an AND of SUBREG of
LSHIFTRT does not simplify, see if just the AND of SUBREG does.
From-SVN: r225344
Joseph Myers [Thu, 2 Jul 2015 12:04:27 +0000 (13:04 +0100)]
Regenerate .pot files.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
From-SVN: r225313
Alan Lawrence [Thu, 2 Jul 2015 11:47:31 +0000 (11:47 +0000)]
tree-pass.h (make_pass_ch_vect): New.
gcc/:
* tree-pass.h (make_pass_ch_vect): New.
* passes.def: Add pass_ch_vect just before pass_if_conversion.
* tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
make_pass_ch_vect): New.
(pass_ch): Extend ch_base.
(pass_ch::execute): Move all but loop_optimizer_init/finalize to...
(ch_base::copy_headers): ...here.
gcc/testsuite/:
* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
* gcc.dg/vect/vect-ifcvt-11.c: New testcase.
From-SVN: r225311
Richard Biener [Thu, 2 Jul 2015 11:33:16 +0000 (11:33 +0000)]
builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
2015-07-02 Richard Biener <rguenther@suse.de>
* builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
* fold-const.c (get_pointer_modulus_and_residue): Remove.
(fold_binary_loc): Implement (T)ptr & CST in terms of
get_pointer_alignment_1.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
Make sure to build the alignment test on a SSA name without
final alignment info valid only after the prologue.
From-SVN: r225310
Hans-Peter Nilsson [Thu, 2 Jul 2015 11:25:04 +0000 (11:25 +0000)]
cris.md ("epilogue"): Remove condition.
* config/cris/cris.md ("epilogue"): Remove condition.
("prologue"): Ditto.
From-SVN: r225308
Richard Biener [Thu, 2 Jul 2015 08:38:42 +0000 (08:38 +0000)]
re PR tree-optimization/66719 (gcc.dg/vect/bb-slp-32.c FAILs)
2015-07-02 Richard Biener <rguenther@suse.de>
PR testsuite/66719
* gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting
unaligned loads.
From-SVN: r225303
Uros Bizjak [Thu, 2 Jul 2015 08:30:07 +0000 (10:30 +0200)]
configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
* configure: Regenerate.
* config.h.in: Ditto.
From-SVN: r225302
Uros Bizjak [Thu, 2 Jul 2015 08:17:20 +0000 (10:17 +0200)]
pr66702-1.C: Require vect_simd_clones effective target.
* testsuite/libgomp.c++/pr66702-1.C: Require
vect_simd_clones effective target.
* testsuite/libgomp.c++/pr66702-2.C: Ditto.
From-SVN: r225301
Richard Biener [Thu, 2 Jul 2015 07:37:35 +0000 (07:37 +0000)]
tree-ssa-dom.c (build_and_record_new_cond): Add optional parameter to record a condition that is false.
2015-07-02 Richard Biener <rguenther@suse.de>
* tree-ssa-dom.c (build_and_record_new_cond): Add optional
parameter to record a condition that is false.
(record_conditions): When recording an extra NE_EXPR that is
true also record a EQ_EXPR that is false.
* gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase.
From-SVN: r225299
Uros Bizjak [Thu, 2 Jul 2015 05:58:12 +0000 (07:58 +0200)]
guard.cc (__test_and_acquire): Use __p after __atomic_load to avoid unused variable warning.
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
to avoid unused variable warning.
(__set_and_release): Use __p after __atomic_store to avoid unused
variable warning.
From-SVN: r225298
H.J. Lu [Thu, 2 Jul 2015 05:03:34 +0000 (05:03 +0000)]
Add prototype for exit
* gcc.target/i386/mpx/pr66568.c (exit): New prototype.
From-SVN: r225296
Bin Cheng [Thu, 2 Jul 2015 04:32:05 +0000 (04:32 +0000)]
tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
* tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
(tree_ssa_iv_optimize_init): Initialize iv_obstack.
(alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
(set_iv, find_interesting_uses_address, add_candidate_1): New
argument to alloc_iv.
(find_interesting_uses_op, find_interesting_uses_cond): Don't
duplicate struct iv.
(free_loop_data): Don't free struct iv explicitly.
(tree_ssa_iv_optimize_finalize): Free iv_obstack.
From-SVN: r225293
GCC Administrator [Thu, 2 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r225286
DJ Delorie [Wed, 1 Jul 2015 20:18:59 +0000 (16:18 -0400)]
tpf.h (LIBSTDCXX): Change to CPP1.
* config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
(LIB_SPEC): Add.
(SUPPORTS_DISCRIMINATOR): Define.
From-SVN: r225278
Jason Merrill [Wed, 1 Jul 2015 19:25:50 +0000 (15:25 -0400)]
c-common.h (D_CXX11): Rename from D_CXX0X.
gcc/c-family/
* c-common.h (D_CXX11): Rename from D_CXX0X.
(RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
* c-common.c: Adjust.
gcc/cp/
* lex.c (init_reswords): s/CXX0X/CXX11/.
* parser.c (cp_lexer_get_preprocessor_token): Likewise.
From-SVN: r225273
Jason Merrill [Wed, 1 Jul 2015 18:27:12 +0000 (14:27 -0400)]
c-opts.c (c_common_post_options): Default to C++14.
gcc/c-family/
* c-opts.c (c_common_post_options): Default to C++14.
gcc/testsuite/
* lib/target-supports.exp (cxx_default): Set to C++14.
From-SVN: r225272
Jason Merrill [Wed, 1 Jul 2015 17:59:25 +0000 (13:59 -0400)]
c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/c-family/
* c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/cp/
* mangle.c (write_CV_qualifiers_for_type, write_nested_name):
Attribute mangling is now -fabi-version=10.
From-SVN: r225271
Jason Merrill [Wed, 1 Jul 2015 17:59:19 +0000 (13:59 -0400)]
re PR c++/65945 (C++ alignment of nullptr_t is 1 and might cause unaligned stores to the frame)
PR c++/65945
* decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
* class.c (layout_nonempty_base_or_field): Warn if that affects
the offset of a field.
From-SVN: r225270
John David Anglin [Wed, 1 Jul 2015 17:42:20 +0000 (17:42 +0000)]
linux-atomic.c (__kernel_cmpxchg): Reorder arguments to better match light-weight syscall argument order.
* config/pa/linux-atomic.c (__kernel_cmpxchg): Reorder arguments to
better match light-weight syscall argument order.
(__kernel_cmpxchg2): Likewise.
Adjust callers.
From-SVN: r225267
Tom de Vries [Wed, 1 Jul 2015 17:33:01 +0000 (17:33 +0000)]
Use scan-rtl-dump in i386/vararg-loc.c
2015-07-01 Tom de Vries <tom@codesourcery.com>
PR testsuite/66723
* gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of
scan-assembler.
From-SVN: r225266
Richard Sandiford [Wed, 1 Jul 2015 16:48:30 +0000 (16:48 +0000)]
re PR middle-end/66685 (conftest.c:16:1: internal compiler error: in as_a, at is-a.h:192)
gcc/
PR bootstrap/66685
* rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
there are no CALLs in the same pattern.
From-SVN: r225263
Thomas Koenig [Wed, 1 Jul 2015 16:43:53 +0000 (16:43 +0000)]
arith.c (gfc_arith_divide): With -Winteger-division...
2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
* arith.c (gfc_arith_divide): With -Winteger-division,
warn about contant integer division if there is a non-zero
remainder.
* invoke.texi: Document -Winteger-division.
* lang.opt: Add -Winteger-division.
2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/warn_conversion_8.f90: New test.
From-SVN: r225262
Bernd Edlinger [Wed, 1 Jul 2015 16:10:30 +0000 (16:10 +0000)]
re PR rtl-optimization/61047 (wrong code at -O1 on x86_64-linux)
gcc/ChangeLog:
2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/61047
* rtlanal.c (get_initial_register_offset): New function.
(rtx_addr_can_trap_p_1): Check offsets of stack references.
testsuite/ChangeLog:
2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/61047
* gcc.c-torture/execute/
20150611-1.c: New testcase.
From-SVN: r225260
Richard Biener [Wed, 1 Jul 2015 13:18:49 +0000 (13:18 +0000)]
fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y...
2015-07-01 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
~X CMP C -> X CMP' ~C to ...
* match.pd: ... patterns here.
From-SVN: r225249
David Malcolm [Wed, 1 Jul 2015 12:50:50 +0000 (12:50 +0000)]
PR jit/66700: set TREE_ADDRESSABLE when building an ADDR_EXPR
gcc/jit/ChangeLog:
PR jit/66700
* jit-playback.c (jit_mark_addressable): New function.
(gcc::jit::playback::lvalue::get_address): Call
jit_mark_addressable on the underlying tree.
gcc/testsuite/ChangeLog:
PR jit/66700
* jit.dg/all-non-failing-tests.h: Add
test-pr66700-observing-write-through-ptr.c.
* jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase.
From-SVN: r225248
David Malcolm [Wed, 1 Jul 2015 12:41:18 +0000 (12:41 +0000)]
jit: document union types
gcc/jit/ChangeLog:
* docs/topics/types.rst (gcc_jit_context_new_union_type): Add
documentation.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
gcc/testsuite/ChangeLog:
* jit.dg/test-accessing-union.c: Add comments for use by
gcc/jit/docs/topics/types.rst.
From-SVN: r225246
David Malcolm [Wed, 1 Jul 2015 12:34:24 +0000 (12:34 +0000)]
jit: clarify (lack of) lifetime requirements on input const char *
gcc/jit/ChangeLog:
* docs/topics/contexts.rst (gcc_jit_context_set_bool_option):
Clarify lack of lifetime requirements on (const char *) parameter.
* docs/topics/expressions.rst
(gcc_jit_context_new_string_literal): Likewise.
(gcc_jit_context_new_global): Likewise.
* docs/topics/functions.rst (gcc_jit_context_new_param): Likewise.
(gcc_jit_context_new_function): Likewise.
(gcc_jit_function_new_block): Likewise.
(gcc_jit_block_add_comment): Likewise.
* docs/topics/locations.rst (gcc_jit_context_new_location):
Likewise.
* docs/topics/types.rst (gcc_jit_context_new_field): Likewise.
(gcc_jit_context_new_struct_type): Likewise.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
From-SVN: r225245
Jonathan Wakely [Wed, 1 Jul 2015 12:24:09 +0000 (13:24 +0100)]
alloc_traits.h (__alloctr_rebind): Remove.
* include/bits/alloc_traits.h (__alloctr_rebind): Remove.
(__allocator_traits_base): New base class.
(__alloc_rebind): Reimplement in terms of detection idiom.
(allocator_traits): Derive from __allocator_traits_base. Reimplement
nested types in terms of detection idiom. Simplify SFINAE constraints
on overloaded static member functions.
* include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
of __alloctr_rebind.
* testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
From-SVN: r225244
Jonathan Wakely [Wed, 1 Jul 2015 12:24:03 +0000 (13:24 +0100)]
ptr_traits.h (__ptrtr_elt_type, [...]): Remove
* include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
__ptrtr_rebind, __ptrtr_not_void): Remove
(__get_first_arg, __replace_first_arg, __make_not_void): Define new
transformations.
(__detected_or_): New detection trait.
(pointer_traits): Use new traits.
* testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
* testsuite/20_util/pointer_traits/requirements/
explicit_instantiation.cc: Use valid arguments to pointer_traits.
From-SVN: r225243
Jonathan Wakely [Wed, 1 Jul 2015 12:23:54 +0000 (13:23 +0100)]
Implement N4502, the C++ Detection Idiom.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* include/experimental/type_traits (void_t, is_detected,
is_detected_v, detected_t, detected_or, detected_or_t,
is_detected_exact, is_detected_exact_v, is_detected_convertible,
is_detected_convertible_v): Define.
* include/std/type_traits (__detector, __detected_or, __detected_or_t,
__detected_or_t_): Define.
* testsuite/experimental/type_traits/detection.cc: New.
From-SVN: r225242
Matthew Wahab [Wed, 1 Jul 2015 12:16:01 +0000 (12:16 +0000)]
armv8-sync-comp-swap.c: Replace 'do-require-effective-target' with 'dg-require-effective-target'.
2015-07-01 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8-sync-comp-swap.c: Replace
'do-require-effective-target' with 'dg-require-effective-target'.
* gcc.target/arm/armv8-sync-op-full.c: Likewise.
* gcc.target/arm/armv8-sync-op-release.c: Likewise.
* gcc.target/arm/armv8-sync-op-acquire.c: Likewise. Also, replace
'stlex' with 'strex' as the expected output.
From-SVN: r225241