]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years ago2017-06-29 Richard Biener <rguenther@suse.de>
rguenth [Thu, 29 Jun 2017 14:04:02 +0000 (14:04 +0000)] 
2017-06-29  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Do not add
reduction chains to LOOP_VINFO_REDUCTIONS.
* tree-vect-slp.c (vect_analyze_slp): Continue looking for
SLP reductions after processing reduction chains.

* gcc.dg/vect/slp-reduc-8.c: New testcase.

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

8 years ago gcc/
nathan [Thu, 29 Jun 2017 14:00:44 +0000 (14:00 +0000)] 
gcc/
* builtins.c (fold_builtin_FUNCTION): Use
lang_hooks.decl_printable_name.

gcc/cp/
* g++.dg/cpp1y/builtin_FUNCTION.C: New.

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

8 years agogcc/
bergner [Thu, 29 Jun 2017 12:58:32 +0000 (12:58 +0000)] 
gcc/
PR middle-end/81194
* cfgexpand.c (expand_gimple_stmt_1): Handle switch statements
with only one label.
* stmt.c (expand_case): Assert NCASES is greater than one.

gcc/testsuite/
PR middle-end/81194
* g++.dg/pr81194.C: New test.

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

8 years agoAdd a testcase for PR ipa/80565
hjl [Thu, 29 Jun 2017 12:53:47 +0000 (12:53 +0000)] 
Add a testcase for PR ipa/80565

The testcase in

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80565

is passing now.  Check in the testcase and resolve it as fixed.

PR ipa/80565
* gcc.dg/torture/pr80565.c: New file.

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

8 years ago2017-06-29 Richard Biener <rguenther@suse.de>
rguenth [Thu, 29 Jun 2017 11:25:29 +0000 (11:25 +0000)] 
2017-06-29  Richard Biener  <rguenther@suse.de>

* tree-cfg.c (group_case_labels_stmt): Return whether we changed
anything.
(group_case_labels): Likewise.
(find_taken_edge): Push sanity checking on val to workers...
(find_taken_edge_cond_expr): ... here
(find_taken_edge_switch_expr): ... and here, handle cases
with just a default label.
* tree-cfg.h (group_case_labels_stmt): Adjust prototype.
(group_case_labels): Likewise.
* tree-cfgcleanup.c (execute_cleanup_cfg_post_optimizing): When
group_case_labels does anything cleanup the CFG again.

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

8 years ago PR tree-optimization/81196
amker [Thu, 29 Jun 2017 10:41:28 +0000 (10:41 +0000)] 
PR tree-optimization/81196
* tree-ssa-loop-niter.c (number_of_iterations_cond): Handle loop
exit condition comparing two IVs.

gcc/testsuite
* gcc.dg/vect/pr81196.c: New.

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

8 years ago[arm] Fix bootstrap - missing initializer in tail entry of autogenerated code
rearnsha [Thu, 29 Jun 2017 10:24:04 +0000 (10:24 +0000)] 
[arm] Fix bootstrap - missing initializer in tail entry of autogenerated code

My patch yesterday accidentally missed a hunk that added the
update to the tail entry of the autogenerated data structure
produced by parsecpu.awk.  This causes native bootstraps to
fail.

This patch adds back the missing hunk.

2017-06-29  Richard Earnshaw  <rearnsha@arm.com>

* config/arm/parsecpu.awk (gen_comm_data): Add initializer for
profile to the dummy entry at the end of the list of architectures.
* config/arm/arm-cpu-cdata.h: Regenerated.

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

8 years ago2017-06-29 Michael Collison <michael.collison@arm.com>
collison [Thu, 29 Jun 2017 09:24:45 +0000 (09:24 +0000)] 
2017-06-29  Michael Collison  <michael.collison@arm.com>

Fix date on prevfious ChangeLog entry.

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

8 years ago2017-06-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
collison [Thu, 29 Jun 2017 09:21:57 +0000 (09:21 +0000)] 
2017-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
    Michael Collison <michael.collison@arm.com>

PR target/70119
* config/aarch64/aarch64.md (*aarch64_<optab>_reg_<mode>3_mask1):
New pattern.
(*aarch64_reg_<mode>3_neg_mask2): New pattern.
(*aarch64_reg_<mode>3_minus_mask): New pattern.
(*aarch64_<optab>_reg_di3_mask2): New pattern.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Account for cost
of shift when the shift amount is masked with constant equal to
the size of the mode.
* config/aarch64/predicates.md (subreg_lowpart_operator): New
predicate.

2017-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
    Michael Collison <michael.collison@arm.com>

PR target/70119
* gcc.target/aarch64/var_shift_mask_1.c: New test.

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

8 years agoFix -mbranch-cost range.
marxin [Thu, 29 Jun 2017 09:01:27 +0000 (09:01 +0000)] 
Fix -mbranch-cost range.

2017-06-29  Martin Liska  <mliska@suse.cz>

* config/i386/i386.opt: Change range from [1,5] to [0,5].

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

8 years ago2017-06-29 Yury Gribov <tetra2005@gmail.com>
chefmax [Thu, 29 Jun 2017 08:50:21 +0000 (08:50 +0000)] 
2017-06-29  Yury Gribov  <tetra2005@gmail.com>

PR bootstrap/80565
        * ipa-cp.c (allocate_and_init_ipcp_value): Add initialization
code.
        * ipa-inline.h
(edge_growth_cache_entry::edge_growth_cache_entry): New
function.
        (reset_edge_growth_cache): Update to use constructor.

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

8 years agoDaily bump.
gccadmin [Thu, 29 Jun 2017 00:16:28 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago[AArch64] Do not increase data alignment at -Os and with -fconserve-stack.
ramana [Wed, 28 Jun 2017 22:09:50 +0000 (22:09 +0000)] 
[AArch64] Do not increase data alignment at -Os and with -fconserve-stack.

We unnecessarily align data to 8 byte alignments even when -Os is
specified. This brings the logic in the AArch64 backend more in line
with the ARM backend and helps gain some image size in a few
places. Caught by an internal report on the size of rodata sections
being high with aarch64 gcc.

* config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): New.
  (DATA_ALIGNMENT): Update to use AARCH64_EXPAND_ALIGNMENT.
  (LOCAL_ALIGNMENT): Update to use AARCH64_EXPAND_ALIGNMENT.

Bootstrapped and regression tested on aarch64-none-linux-gnu with no
regressions.

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

8 years ago PR c++/72764 - ICE with invalid template typename.
jason [Wed, 28 Jun 2017 21:06:35 +0000 (21:06 +0000)] 
PR c++/72764 - ICE with invalid template typename.

* decl.c (build_typename_type): No longer static.
* tree.c (strip_typedefs): Use it instead of make_typename_type.

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

8 years ago * config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64)
uros [Wed, 28 Jun 2017 20:59:51 +0000 (20:59 +0000)] 
* config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64)
(_mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics.

testsuite/ChangeLog:

* gcc.target/i386/avx512vl-vpermd-1.c (_mm256_permutexvar_epi32):
Test new intrinsic.
* gcc.target/i386/avx512vl-vpermq-imm-1.c (_mm256_permutex_epi64):
Ditto.
* gcc.target/i386/avx512vl-vpermq-var-1.c (_mm256_permutexvar_epi64):
Ditto.
* gcc.target/i386/avx512f-vpermd-2.c: Do not check for AVX512F_LEN.
* gcc.target/i386/avx512f-vpermq-imm-2.c: Ditto.
* gcc.target/i386/avx512f-vpermq-var-2.c: Ditto.

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

8 years ago PR c++/69300 - ICE with self-referential noexcept
jason [Wed, 28 Jun 2017 20:02:12 +0000 (20:02 +0000)] 
PR c++/69300 - ICE with self-referential noexcept

* pt.c (maybe_instantiate_noexcept): Check for recursion.

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

8 years ago PR c++/61022 - error with variadic template template parm
jason [Wed, 28 Jun 2017 19:59:44 +0000 (19:59 +0000)] 
PR c++/61022 - error with variadic template template parm

* pt.c (convert_template_argument): Keep the TYPE_PACK_EXPANSION.

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

8 years ago PR c++/72801 - ICE with variadic partial specialization
jason [Wed, 28 Jun 2017 19:59:37 +0000 (19:59 +0000)] 
PR c++/72801 - ICE with variadic partial specialization

* pt.c (unify_pack_expansion): Use PACK_EXPANSION_EXTRA_ARGS.

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

8 years ago PR c++/55639 - partial specialization with ::template
jason [Wed, 28 Jun 2017 19:41:49 +0000 (19:41 +0000)] 
PR c++/55639 - partial specialization with ::template

* parser.c (cp_parser_class_head): Handle ::template.

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

8 years ago PR c++/45976 - error with ::template in declarator.
jason [Wed, 28 Jun 2017 19:41:43 +0000 (19:41 +0000)] 
PR c++/45976 - error with ::template in declarator.

* pt.c (resolve_typename_type): Fix TEMPLATE_ID_EXPR handling.

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

8 years ago PR c++/54769 - wrong lookup of dependent template-name.
jason [Wed, 28 Jun 2017 19:41:36 +0000 (19:41 +0000)] 
PR c++/54769 - wrong lookup of dependent template-name.

* parser.c (cp_parser_template_name): Handle dependent object type.
(cp_parser_nested_name_specifier_opt): Make template_keyword_p a
parameter.
(cp_parser_id_expression): Pass it.
(cp_parser_diagnose_invalid_type_name): Handle TEMPLATE_ID_EXPR.

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

8 years ago Make the TEMPLATE_ID_EXPR location a range.
jason [Wed, 28 Jun 2017 19:41:24 +0000 (19:41 +0000)] 
Make the TEMPLATE_ID_EXPR location a range.

* parser.c (cp_parser_template_id): Use the range location on the
TEMPLATE_ID_EXPR.

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

8 years ago PR c++/81204 - parse error with dependent template-name
jason [Wed, 28 Jun 2017 19:41:18 +0000 (19:41 +0000)] 
PR c++/81204 - parse error with dependent template-name

* parser.c (cp_parser_lookup_name): Disqualify function templates
after lookup.

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

8 years agomultiarch support for non-glibc linux systems
nsz [Wed, 28 Jun 2017 16:02:42 +0000 (16:02 +0000)] 
multiarch support for non-glibc linux systems

Current multiarch directory name is always *-linux-gnu* on linux,
this patch configures different names for uclibc and musl targets.

2017-06-28  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config.gcc (*-linux-musl*): Add t-musl tmake_file.
(*-linux-uclibc*): Add t-uclibc tmake_file.
* config/t-musl: New.
* config/t-uclibc: New.

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

8 years ago[ARM] Consistently check for neon in vect effective targets
thopre01 [Wed, 28 Jun 2017 15:09:08 +0000 (15:09 +0000)] 
[ARM] Consistently check for neon in vect effective targets

Conditions checked for ARM targets in vector-related effective targets
are inconsistent:

* sometimes arm*-*-* is checked
* sometimes Neon is checked
* sometimes arm_neon_ok and sometimes arm_neon is used for neon check
* sometimes check_effective_target_* is used, sometimes
* is-effective-target

This patch consolidate all of these check into using is-effective-target
arm_neon and when little endian was checked, the check is kept.

2017-06-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_vect_int): Replace
    current ARM check by ARM NEON's availability check.
    (check_effective_target_vect_intfloat_cvt): Likewise.
    (check_effective_target_vect_uintfloat_cvt): Likewise.
    (check_effective_target_vect_floatint_cvt): Likewise.
    (check_effective_target_vect_floatuint_cvt): Likewise.
    (check_effective_target_vect_shift): Likewise.
    (check_effective_target_whole_vector_shift): Likewise.
    (check_effective_target_vect_bswap): Likewise.
    (check_effective_target_vect_shift_char): Likewise.
    (check_effective_target_vect_long): Likewise.
    (check_effective_target_vect_float): Likewise.
    (check_effective_target_vect_perm): Likewise.
    (check_effective_target_vect_perm_byte): Likewise.
    (check_effective_target_vect_perm_short): Likewise.
    (check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise.
    (check_effective_target_vect_widen_sum_qi_to_hi): Likewise.
    (check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
    (check_effective_target_vect_widen_mult_hi_to_si): Likewise.
    (check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise.
    (check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise.
    (check_effective_target_vect_widen_shift): Likewise.
    (check_effective_target_vect_extract_even_odd): Likewise.
    (check_effective_target_vect_interleave): Likewise.
    (check_effective_target_vect_multiple_sizes): Likewise.
    (check_effective_target_vect64): Likewise.
    (check_effective_target_vect_max_reduc): Likewise.

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

8 years ago[arm] Fix incorrect __ARM_ARCH_PROFILE for -march=armv7
rearnsha [Wed, 28 Jun 2017 15:02:38 +0000 (15:02 +0000)] 
[arm] Fix incorrect __ARM_ARCH_PROFILE for -march=armv7

ACLE explicitly states that when targetting the common subset of
ARMv7-A, ARMv7-R and ARMv7-M, the __ARM_ARCH_PROFILE macro should not
be set.  We currently set it to 'M' which is clearly erroneous.

The logic for creating this is very convoluted and also somewhat
fragile, so I've taken the opportunity to use the new CPU and
architecture definition infrastructure to record the profile for each
architecture explicitly rather than try to reconstruct it from other
data.  I think this results in a much more robust solution.

2017-06-28  Richard Earnshaw  <rearnsha@arm.com>

* config/arm/parsecpu.awk (profile): Parse new keyword in an arch
context.
(gen_comm_data): Emit architectural setting of arch_prof.
* config/arm/arm-cpus.in (armv6-m, armv6s-m, armv7-a, armv7ve): Set the
profile.
(armv7-r, armv7-m, armv7e-m, armv8-a, armv8.1-a, armv8.2-a): Likewise.
(armv8-m.base, armv8-m.main): Likewise.
* arm-protos.h (arm_build_target): Add profile field.
(arch_option): Likewise.
* config/arm/arm.c (arm_configure_build_target): Copy the profile to
the active target.
* config/arm/arm.h (TARGET_ARM_ARCH_PROFILE): Use
arm_active_target.profile.

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

8 years ago2017-06-28 Richard Biener <rguenther@suse.de>
rguenth [Wed, 28 Jun 2017 14:24:00 +0000 (14:24 +0000)] 
2017-06-28  Richard Biener  <rguenther@suse.de>

PR middle-end/81227
* fold-const.c (negate_expr_p): Use TYPE_UNSIGNED, not
TYPE_OVERFLOW_WRAPS.
* match.pd (negate_expr_p): Likewise.
* tree-ssa-reassoc.c (optimize_range_tests_diff): Use
fold_build2, not fold_binary.

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

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

8 years agoThis patch fixes a failure in gcc.target/aarch64/reload-valid-spoff.c
wilco [Wed, 28 Jun 2017 14:21:04 +0000 (14:21 +0000)] 
This patch fixes a failure in gcc.target/aarch64/reload-valid-spoff.c
triggered by https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01367.html.

In ILP32 all memory accesses must have Pmode as the base address, but
aarch64_expand_mov_immediate wasn't emitting a conversion in one case.
Besides fixing this add an assert that flags any MEM operands that are
not Pmode.

    gcc/
* config/aarch64/aarch64 (aarch64_expand_mov_immediate):
Convert memory address to Pmode.
(aarch64_print_operand): Assert MEM operands are always Pmode.

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

8 years agoImprove Cortex-A53 shift bypass
wilco [Wed, 28 Jun 2017 14:13:02 +0000 (14:13 +0000)] 
Improve Cortex-A53 shift bypass

The aarch_forward_to_shift_is_not_shifted_reg bypass always returns true
on AArch64 shifted instructions.  This causes the bypass to activate in
too many cases, resulting in slower execution on Cortex-A53 like reported
in PR79665.

This patch uses the arm_no_early_alu_shift_dep condition instead which
improves the example in PR79665 by ~7%.  Given it is no longer used,
remove aarch_forward_to_shift_is_not_shifted_reg.  Also remove an
unnecessary REG_P check.

    gcc/
PR target/79665
* config/arm/aarch-common.c (arm_no_early_alu_shift_dep):
Remove redundant if.
(aarch_forward_to_shift_is_not_shifted_reg): Remove.
* config/arm/aarch-common-protos.h
(aarch_forward_to_shift_is_not_shifted_re): Remove.
* config/arm/cortex-a53.md: Use arm_no_early_alu_shift_dep in bypass.

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

8 years ago[gcc]
meissner [Wed, 28 Jun 2017 13:07:12 +0000 (13:07 +0000)] 
[gcc]
2017-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR ipa/81238
* multiple_target.c (create_dispatcher_calls): Set the default
clone to be static, not public.

[gcc/testsuite]
2017-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/81193
* lib/target-supports.exp
(check_ppc_cpu_supports_hw_available): New test to make sure
__builtin_cpu_supports works on power7 and newer.

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

8 years ago2017-06-28 Richard Biener <rguenther@suse.de>
rguenth [Wed, 28 Jun 2017 13:02:01 +0000 (13:02 +0000)] 
2017-06-28  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vectorizable_reduction): Move special
cond reduction IV var creation ...
(vect_create_epilog_for_reduction): ... here.  Remove induction_index
parameter.  Use STMT_VINFO_VECTYPE.
* tree-vect-slp.c (vect_get_constant_vectors): Properly reset
constant_p.

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

8 years agoDo not allow to inline ifunc resolvers (PR ipa/81128).
marxin [Wed, 28 Jun 2017 12:47:24 +0000 (12:47 +0000)] 
Do not allow to inline ifunc resolvers (PR ipa/81128).

2017-06-28  Martin Liska  <mliska@suse.cz>

PR ipa/81128
* ipa-visibility.c (non_local_p): Handle visibility.
2017-06-28  Martin Liska  <mliska@suse.cz>

PR ipa/81128
* c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
to a function declaration.
2017-06-28  Martin Liska  <mliska@suse.cz>

PR ipa/81128
* gcc.target/i386/pr81128.c: New test.

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

8 years agoIntroduce IntegerRange for options (PR driver/79659).
marxin [Wed, 28 Jun 2017 12:45:59 +0000 (12:45 +0000)] 
Introduce IntegerRange for options (PR driver/79659).

2017-06-28  Martin Liska  <mliska@suse.cz>

PR driver/79659
* common.opt: Add IntegerRange to various options.
* opt-functions.awk (integer_range_info): New function.
* optc-gen.awk: Add integer_range_info to cl_options struct.
* opts-common.c (decode_cmdline_option): Handle
CL_ERR_INT_RANGE_ARG.
(cmdline_handle_error): Likewise.
* opts.c (print_filtered_help): Show valid interval in
when --help is provided.
* opts.h (struct cl_option): Add range_min and range_max fields.
* config/i386/i386.opt: Add IntegerRange for -mbranch-cost.
2017-06-28  Martin Liska  <mliska@suse.cz>

PR driver/79659
* c.opt: Add IntegerRange to various options.
2017-06-28  Martin Liska  <mliska@suse.cz>

PR driver/79659
* g++.dg/opt/pr79659.C: New test.

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

8 years agocopy-sign-1.c, mult-abs-2.c: Restrict to c99_runtime.
clyon [Wed, 28 Jun 2017 12:18:31 +0000 (12:18 +0000)] 
copy-sign-1.c, mult-abs-2.c: Restrict to c99_runtime.

2017-06-28  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.dg/tree-ssa/copy-sign-1.c: Add c99_runtime effective target
and options.
* gcc.dg/tree-ssa/mult-abs-2.c: Likewise.

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

8 years agoSimplify 3*x == 3*y for wrapping types
glisse [Wed, 28 Jun 2017 09:22:30 +0000 (09:22 +0000)] 
Simplify 3*x == 3*y for wrapping types

2017-06-28  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd ((X & ~Y) | (~X & Y)): Generalize to + and ^.
(x * C EQ/NE y * C): New transformation.

gcc/testsuite/
* gcc.dg/tree-ssa/addadd.c: Remove test duplicated in addadd-2.c.
* gcc.dg/tree-ssa/mulcmp-1.c: New file.

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

8 years agoUse ucontext_t not struct ucontext in linux-unwind.h files.
jsm28 [Wed, 28 Jun 2017 09:21:16 +0000 (09:21 +0000)] 
Use ucontext_t not struct ucontext in linux-unwind.h files.

Current glibc no longer gives the ucontext_t type the tag struct
ucontext, to conform with POSIX namespace rules.  This requires
various linux-unwind.h files in libgcc, that were previously using
struct ucontext, to be fixed to use ucontext_t instead.  This is
similar to the removal of the struct siginfo tag from siginfo_t some
years ago.

This patch changes those files to use ucontext_t instead.  As the
standard name that should be unconditionally safe, so this is not
restricted to architectures supported by glibc, or conditioned on the
glibc version.

Tested compilation together with current glibc with glibc's
build-many-glibcs.py.

* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
config/alpha/linux-unwind.h (alpha_fallback_frame_state),
config/bfin/linux-unwind.h (bfin_fallback_frame_state),
config/i386/linux-unwind.h (x86_64_fallback_frame_state,
x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
config/pa/linux-unwind.h (pa32_fallback_frame_state),
config/riscv/linux-unwind.h (riscv_fallback_frame_state),
config/sh/linux-unwind.h (sh_fallback_frame_state),
config/tilepro/linux-unwind.h (tile_fallback_frame_state),
config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
ucontext_t instead of struct ucontext.

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

8 years ago2017-06-28 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Wed, 28 Jun 2017 09:15:59 +0000 (09:15 +0000)] 
2017-06-28  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* genmultilib (combination_space): Accept '+' in option names.

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

8 years ago * gcc.target/i386/cmov7.c (sgn): Renamed to ...
jakub [Wed, 28 Jun 2017 08:05:20 +0000 (08:05 +0000)] 
* gcc.target/i386/cmov7.c (sgn): Renamed to ...
(foo): ... this.  Change constants such that it isn't matched
as __builtin_copysign, yet tests the combiner the same.

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

8 years agoBail out HARD_REGISTER vars in asan (PR sanitizer/81224).
marxin [Wed, 28 Jun 2017 07:59:23 +0000 (07:59 +0000)] 
Bail out HARD_REGISTER vars in asan (PR sanitizer/81224).

2017-06-28  Martin Liska  <mliska@suse.cz>

PR sanitizer/81224
* asan.c (instrument_derefs): Bail out inner references
that are hard register variables.
2017-06-28  Martin Liska  <mliska@suse.cz>

PR sanitizer/81224
* gcc.dg/asan/pr81224.c: New test.

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

8 years ago PR target/81175
jakub [Wed, 28 Jun 2017 07:55:20 +0000 (07:55 +0000)] 
PR target/81175
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin
rather than def_builtin_pure for __builtin_ia32_gatherpf*.

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

8 years agoFix PR bootstrap/81217
marxin [Wed, 28 Jun 2017 07:54:14 +0000 (07:54 +0000)] 
Fix PR bootstrap/81217

2017-06-28  Martin Liska  <mliska@suse.cz>

PR bootstrap/81217
* Makefile.def: Remove superfluous bootstrap_target from
bootstrap_stage.
* Makefile.in: Re-generate the file.

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

8 years agoDoxygen: add default location for filters and output folder.
marxin [Wed, 28 Jun 2017 07:52:46 +0000 (07:52 +0000)] 
Doxygen: add default location for filters and output folder.

2017-06-28  Martin Liska  <mliska@suse.cz>

* gcc.doxy: Add default location for filters and output folder.
* filter_gcc_for_doxygen_new: Rename to filter_gcc_for_doxygen.
* filter_params.pl: Remove.

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

8 years ago2017-06-28 Eric Botcazou <ebotcazou@adacore.com>
ebotcazou [Wed, 28 Jun 2017 07:51:35 +0000 (07:51 +0000)] 
2017-06-28  Eric Botcazou  <ebotcazou@adacore.com>

* gcc.dg/tree-prof/val-profiler-threads-1.c (main): Fix 2nd argument
passed to pthread_join.

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

8 years ago2017-06-28 Richard Biener <rguenther@suse.de>
rguenth [Wed, 28 Jun 2017 07:47:35 +0000 (07:47 +0000)] 
2017-06-28  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vect_get_vec_defs): Remove.
(vect_get_slp_defs): Adjust.
* tree-vect-loop.c (get_initial_defs_for_reduction): Split
out from ...
* tree-vect-slp.c (vect_get_constant_vectors): ... here and
simplify.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
get_initial_defs_for_reduction instead of vect_get_vec_defs.
(vectorizable_reduction): Adjust.
* tree-vect-slp.c (vect_get_constant_vectors): Remove reduction
handling.
(vect_get_slp_defs): Likewise.
* tree-vect-stmts.c (vect_get_vec_defs): Make static and adjust.
(vectorizable_bswap): Adjust.
(vectorizable_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_condition): Likewise.
(vectorizable_comparison): Likewise.

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

8 years ago2017-06-28 Michael Collison <michael.collison@arm.com>
collison [Wed, 28 Jun 2017 07:07:49 +0000 (07:07 +0000)] 
2017-06-28  Michael Collison  <michael.collison@arm.com>

PR target/68535
* config/arm/arm.c (gen_ldm_seq): Remove last unnecessary
set of base_reg
(arm_gen_movmemqi): Removed unused variable 'i'.
Convert 'for' loop into 'while' loop.
(arm_expand_prologue): Remove last unnecessary set of insn.
(thumb_pop): Remove unused variable 'pushed_words'.
(thumb_exit): Remove last unnecessary set of regs_to_pop.

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

8 years agoS/390: New option -mpic-data-is-text-relative
krebbel [Wed, 28 Jun 2017 07:03:35 +0000 (07:03 +0000)] 
S/390: New option -mpic-data-is-text-relative

For hotpatching it might be required to introduce new .text parts
while keep using the existing .data/.bss sections.  To make this work
the backend needs to be prevented from using relative addressing
between code and data.
This only works when already building PIC
since the addressing will then be handling via GOT.

gcc/testsuite/ChangeLog:

2017-06-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/nodatarel-1.c: New test.

gcc/ChangeLog:

2017-06-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/predicates.md: Use s390_rel_address_ok_p.
* config/s390/s390-protos.h: Add prototype of
s390_rel_address_ok_p.
* config/s390/s390.c (s390_got_symbol): New function.
(s390_rel_address_ok_p): New function.
(legitimize_pic_address): Use s390_rel_address_ok_p.
(s390_load_got): Use s390_got_symbol.
(s390_option_override): Issue error if
-mno-pic-data-is-text-relative is used without -fpic/-fPIC.
* config/s390/s390.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
New macro.
* config/s390/s390.opt: New option mpic-data-is-text-relative.

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

8 years ago2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 28 Jun 2017 02:17:40 +0000 (02:17 +0000)] 
2017-06-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/80164
* trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
as warning/error locus.

* gfortran.dg/array_temporaries_4.f90: New test.

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

8 years agoDaily bump.
gccadmin [Wed, 28 Jun 2017 00:16:30 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago runtime: adapt memory management to AIX mmap
ian [Tue, 27 Jun 2017 22:36:48 +0000 (22:36 +0000)] 
runtime: adapt memory management to AIX mmap

    On AIX:
    * mmap does not allow to map an already mapped range,
    * mmap range start at 0x30000000 for 32 bits processes,
    * mmap range start at 0x70000000_00000000 for 64 bits processes

    This is adapted from change 37845.

    Issue golang/go#19200

    Reviewed-on: https://go-review.googlesource.com/46772

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

8 years ago syscall: ptrace fixes for s390
ian [Tue, 27 Jun 2017 21:51:50 +0000 (21:51 +0000)] 
syscall: ptrace fixes for s390

    Fixes required now that we #include <linux/ptrace.h> in sysinfo.c.

    Patch by Andreas Krebbel.

    Reviewed-on: https://go-review.googlesource.com/46839

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

8 years ago * pt.c (tsubst_decl <FUNCTION_DECL>): Move var decls to
nathan [Tue, 27 Jun 2017 19:39:05 +0000 (19:39 +0000)] 
* pt.c (tsubst_decl <FUNCTION_DECL>): Move var decls to
initialization point.  Don't unnecessarily check for ctor name.

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

8 years ago PR libstdc++/80187
timshen [Tue, 27 Jun 2017 18:19:03 +0000 (18:19 +0000)] 
PR libstdc++/80187
* include/std/variant (variant::variant, variant::~variant,
variant::operator=): Implement triviality forwarding for four
special member functions.
* testsuite/20_util/variant/compile.cc: Tests.

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

8 years ago2017-06-27 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 27 Jun 2017 17:57:23 +0000 (17:57 +0000)] 
2017-06-27  Andrew Pinski  <apinski@cavium.com>

        * match.pd (X >/>=/</<= 0 ? 1.0 : -1.0): New patterns.
        (X * copysign (1.0, X)): New pattern.
        (X * copysign (1.0, -X)): New pattern.
        (copysign (-1.0, CST)): New pattern.

2017-06-27  Andrew Pinski  <apinski@cavium.com>

        * gcc.dg/tree-ssa/copy-sign-1.c: New testcase.
        * gcc.dg/tree-ssa/copy-sign-2.c: New testcase.
        * gcc.dg/tree-ssa/mult-abs-2.c: New testcase.

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

8 years agoFix genmultilib reuse rule checks for large sets of option combinations.
jsm28 [Tue, 27 Jun 2017 17:33:28 +0000 (17:33 +0000)] 
Fix genmultilib reuse rule checks for large sets of option combinations.

genmultilib computes combination_space, a list of all combinations of
options in MULTILIB_OPTIONS that might have multilibs built for them
(some of which may end up not having multilibs built for them, and
some of those may end up being mapped to other multilibs with
MULTILIB_REUSE).  It is then used to validate the right hand part of
MULTILIB_REUSE rules, checking with expr that combination_space
matches a basic regular expression derived from that right hand part.

There are two problems with this approach to validation:

* It requires that right hand part to have options in the same order
  as in MULTILIB_OPTIONS, in contradiction to the documentation of
  MULTILIB_REUSE saying that order does not matter there.

* combination_space can be so large that the expr call fails with an
  E2BIG error.  I have a local ARM configuration with 40 multilibs but
  3840 combinations of options from MULTILIB_OPTIONS (so 3839 listed
  in combination_space, since it doesn't list the default multilib)
  and 996 MULTILIB_REUSE rules.  This generates a combination_space
  string longer than the Linux kernel's MAX_ARG_STRLEN (PAGE_SIZE *
  32, the limit on the length of a single argv string), so that expr
  cannot be run.

This patch changes the validation approach to generate a much shorter
extended regular expression for any sequence of multilib options in
any order, and uses that for the validation instead.

Tested with a build for arm-none-eabi --with-multilib-list=aprofile
(as a configuration that uses MULTILIB_REUSE).

* genmultilib (combination_space): Remove variable.
Validate reuse rules against regular expression for any sequence
of multilib options in any order.

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

8 years ago2017-06-19 Michael Collison <michael.collison@arm.com>
collison [Tue, 27 Jun 2017 17:29:06 +0000 (17:29 +0000)] 
2017-06-19  Michael Collison  <michael.collison@arm.com>

* config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Directly
call aarch64_split_simd_combine.
* (aarch64_combine_internal<mode>): Delete pattern.
* config/aarch64/aarch64.c (aarch64_split_simd_combine):
Allow register and subreg operands.

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

8 years ago * cp-tree.h (CLASSTYPE_DESTRUCTORS): Rename to ...
nathan [Tue, 27 Jun 2017 17:27:49 +0000 (17:27 +0000)] 
* cp-tree.h (CLASSTYPE_DESTRUCTORS): Rename to ...
(CLASSTYPE_DESTRUCTOR): ... this.
* class.c (accessible_nvdtor_p)
maybe_warn_about_overly_private_class,
add_implicitly_declared_members,
clone_constructors_and_destructors, type_has_virtual_destructor):
Adjust for CLASSTYPE_DESTRUCTOR.
(deduce_noexcept_on_destructors): Absorb into ...
(check_bases_and_members): ... here.
* except.c (dtor_nothrow): Adjust for CLASSTYPE_DESTRUCTOR.
* init.c (build_delete): Likewise.
* parser.c (cp_parser_lookup_name): Likewise.
* pt.c (check_explicit_specialization): Likewise.
* rtti.c (emit_support_tinfos): Likewise.
* search.c (lookup_fnfields_idx_nolazy): Likewise.
(--This line, and those below, will be ignored--

M    cp/cp-tree.h
M    cp/search.c
M    cp/init.c
M    cp/class.c
M    cp/rtti.c
M    cp/except.c
M    cp/ChangeLog
M    cp/pt.c
M    cp/parser.c

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

8 years agoPR libstdc++/81221 only run new test for check-parallel
redi [Tue, 27 Jun 2017 16:19:16 +0000 (16:19 +0000)] 
PR libstdc++/81221 only run new test for check-parallel

PR libstdc++/81221
* testsuite/25_algorithms/sample/81221.cc: Disable except for
check-parallel.

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

8 years ago * longlong.h: Remove ns32k support.
law [Tue, 27 Jun 2017 16:10:15 +0000 (16:10 +0000)] 
* longlong.h: Remove ns32k support.

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

8 years agoShow value of GOMP_OPENACC_DIM in libgomp nvptx plugin
vries [Tue, 27 Jun 2017 15:51:48 +0000 (15:51 +0000)] 
Show value of GOMP_OPENACC_DIM in libgomp nvptx plugin

2017-06-27  Tom de Vries  <tom@codesourcery.com>

* plugin/plugin-nvptx.c (notify_var): New function.
(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.

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

8 years agoUse secure_getenv for GOMP_DEBUG
vries [Tue, 27 Jun 2017 15:51:37 +0000 (15:51 +0000)] 
Use secure_getenv for GOMP_DEBUG

2017-06-27  Tom de Vries  <tom@codesourcery.com>

* env.c (parse_unsigned_long_1): Factor out of ...
(parse_unsigned_long): ... here.
(parse_int_1): Factor out of ...
(parse_int): ... here.
(parse_int_secure): New function.
(initialize_env): Use parse_int_secure for GOMP_DEBUG.
* secure_getenv.h: Factor out of ...
* plugin/plugin-hsa.c: ... here.
* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.

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

8 years ago Kill IDENTIFIER_TEMPLATE.
nathan [Tue, 27 Jun 2017 15:26:38 +0000 (15:26 +0000)] 
Kill IDENTIFIER_TEMPLATE.
* cp-tree.h (lang_identifier): Remove class_template_info field.
(IDENTIFIER_TEMPLATE): Delete.
* name-lookup.c (constructor_name_full): Subsume into ...
(constructor_name): ... here.  Don't check IDENTIFIER_TEMPLATE.
(constructor_name_p): Likewise.
* mangle.c (write_source_name): Likewise.
* ptree.c (cxx_print_identifier): Likewise.

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

8 years agoPR libstdc++/81221 fix namespace qualification for parallel mode
redi [Tue, 27 Jun 2017 14:44:50 +0000 (14:44 +0000)] 
PR libstdc++/81221 fix namespace qualification for parallel mode

PR libstdc++/81221
* include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not
std.
* testsuite/25_algorithms/sample/81221.cc: New.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 13:55:42 +0000 (13:55 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

* config/i386/vxworks.h (ASM_SPEC): Remove definition. No target
specific need, just fallback on defaults.
(ASM_OUTPUT_ALIGNED_BSS): Add #undef before #define.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 13:47:26 +0000 (13:47 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

* config/i386/vxworks.h (DBX_REGISTER_NUMBER): Pick distinct
map for 64bits.
(TARGET_OS_CPP_BUILTINS): builtin_define CPU to X86_64 for 64bit
targets. Pick a default if no particular attempt applied.
(STACK_CHECK_PROTECT): Double for 64bit targets, which have
larger contexts.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 13:15:35 +0000 (13:15 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

gcc/
* config.gcc (i*86-wrs-vxworks7): Handle new acceptable triplet.
(x86_64-wrs-vxworks7): Likewise.

libgcc/
* config.host (i*86-wrs)vxworks7): Handle new acceptable triplet.
(x86_64-wrs-vxworks7): Likewise.

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

8 years ago2017-06-27 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 27 Jun 2017 12:20:05 +0000 (12:20 +0000)] 
2017-06-27  Olivier Hainque  <hainque@adacore.com>

* config/t-vxworks7: New file.
* config.host (*-*-vxworks7): Use it.

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

8 years ago PR sanitizer/81223
mpolacek [Tue, 27 Jun 2017 11:38:31 +0000 (11:38 +0000)] 
PR sanitizer/81223
* ubsan.c (instrument_null): Check get_base_address's result for null.

* gcc.dg/ubsan/pr81223.c: New test.

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

8 years agoSimple reassoc transforms in match.pd
glisse [Tue, 27 Jun 2017 09:42:38 +0000 (09:42 +0000)] 
Simple reassoc transforms in match.pd

2017-06-27  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd ((A+-B)+(C-A), (A+B)-(A-C)): New transformations.

gcc/testsuite/
* gcc.dg/tree-ssa/assoc-1.c: New file.

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

8 years agofenv.h builtins
glisse [Tue, 27 Jun 2017 09:38:28 +0000 (09:38 +0000)] 
fenv.h builtins

2017-06-27  Marc Glisse  <marc.glisse@inria.fr>

* builtin-types.def (BT_FENV_T_PTR, BT_CONST_FENV_T_PTR,
BT_FEXCEPT_T_PTR, BT_CONST_FEXCEPT_T_PTR): New primitive types.
(BT_FN_INT_FENV_T_PTR, BT_FN_INT_CONST_FENV_T_PTR,
BT_FN_INT_FEXCEPT_T_PTR_INT, BT_FN_INT_CONST_FEXCEPT_T_PTR_INT):
New function types.
* builtins.def (BUILT_IN_FECLEAREXCEPT, BUILT_IN_FEGETENV,
BUILT_IN_FEGETEXCEPTFLAG, BUILT_IN_FEGETROUND,
BUILT_IN_FEHOLDEXCEPT, BUILT_IN_FERAISEEXCEPT,
BUILT_IN_FESETENV, BUILT_IN_FESETEXCEPTFLAG,
BUILT_IN_FESETROUND, BUILT_IN_FETESTEXCEPT,
BUILT_IN_FEUPDATEENV): New builtins.
* tree-core.h (TI_FENV_T_PTR_TYPE, TI_CONST_FENV_T_PTR_TYPE,
TI_FEXCEPT_T_PTR_TYPE, TI_CONST_FEXCEPT_T_PTR_TYPE): New entries.
* tree.h (fenv_t_ptr_type_node, const_fenv_t_ptr_type_node,
fexcept_t_ptr_type_node, const_fexcept_t_ptr_type_node): New
macros.
(builtin_structptr_types): Adjust size.
* tree.c (builtin_structptr_types): Add four entries.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 09:15:55 +0000 (09:15 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

* config/vxworks.h (VXWORKS_LIB_SPEC): Incorporate ...
(TLS_SYM): New local macro, forcing reference to __tls__ on
link command lines for VxWorks 7 RTPs, triggering initialization
of tlsLib.
(VXWORKS_HAVE_TLS): New macro. State whether the target VxWorks
OS features TLS support, true for RTPs on VxWorks 7.
* config/vxworks.c (vxworks_override_options): Setup emutls
accordingly.

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

8 years ago * predict.c (test_prediction_value_range): Use -1U instead of -1
jakub [Tue, 27 Jun 2017 09:13:53 +0000 (09:13 +0000)] 
* predict.c (test_prediction_value_range): Use -1U instead of -1
to avoid narrowing conversion warning.
* dumpfile.c (dump_options): Wrap all value into dump_flags_t cast
to avoid narrowing conversion warning.
* opt-functions.awk (var_ref): Return (unsigned short) -1 instead of
-1.
* optc-gen.awk (END): Expect (unsigned short) -1 instead of -1.

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

8 years ago2017-06-27 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 27 Jun 2017 09:00:52 +0000 (09:00 +0000)] 
2017-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62046
* g++.dg/parse/catch2.C: New.

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

8 years ago2017-06-27 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 27 Jun 2017 08:54:53 +0000 (08:54 +0000)] 
2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

* config/vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for
   64bit configurations.
   (PTR_DIFF_TYPE): Alternative definition for TARGET_LP64.
   (SIZE_TYPE): Likewise.
   * config/vxworks.c (vxworks_emutls_var_fields): Use
   long_unsigned_type_node instead of unsigned_type_node as the offset
field type, which is "pointer" mode in emutls.c.

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

8 years ago PR sanitizer/81209
jakub [Tue, 27 Jun 2017 07:23:54 +0000 (07:23 +0000)] 
PR sanitizer/81209
* ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var.

* g++.dg/ubsan/pr81209.C: New test.

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

8 years ago PR middle-end/81207
jakub [Tue, 27 Jun 2017 07:22:14 +0000 (07:22 +0000)] 
PR middle-end/81207
* gimple-fold.c (replace_call_with_call_and_fold): Handle
gimple_vuse copying separately from gimple_vdef copying.

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

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

8 years ago PR bootstrap/81216
mpolacek [Tue, 27 Jun 2017 07:16:29 +0000 (07:16 +0000)] 
PR bootstrap/81216
* parser.c (cp_parser_already_scoped_statement): Initialize
LOC_AFTER_LABELS.

* g++.dg/warn/Wmultistatement-macros-1.C: New test.

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

8 years ago2017-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Tue, 27 Jun 2017 06:13:54 +0000 (06:13 +0000)] 
2017-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* value-prof.c (free_hist): Remove call to memset and the enclosing if
condition.

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

8 years ago libgo: add misc/cgo files
ian [Tue, 27 Jun 2017 04:21:40 +0000 (04:21 +0000)] 
libgo: add misc/cgo files

    Copy all the misc/cgo files from the gc toolchain into libgo/misc.

    These will be used for testing purposes by later changes to the
    gotools directory.

    Reviewed-on: https://go-review.googlesource.com/46721

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

8 years agoDaily bump.
gccadmin [Tue, 27 Jun 2017 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago * Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
ian [Mon, 26 Jun 2017 22:47:18 +0000 (22:47 +0000)] 
* Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
or defaultCXX.
* Makefile.in: Rebuild.

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

8 years agoFix for SPEC CPU2017 621.wrf_s failure, add missing locking code.
wilson [Mon, 26 Jun 2017 21:40:47 +0000 (21:40 +0000)] 
Fix for SPEC CPU2017 621.wrf_s failure, add missing locking code.

libgfortran/
PR libfortran/81195
* io/unit.c (get_unit): Call __gthread_mutex_lock before newunit_stack
and newunit_tos references.  Call __gthread_mutex_unlock afterward.

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

8 years ago PR c++/81215 - deduction failure with variadic TTP.
jason [Mon, 26 Jun 2017 18:49:18 +0000 (18:49 +0000)] 
PR c++/81215 - deduction failure with variadic TTP.

* pt.c (unify_bound_ttp_args): Restore old logic for C++14 and down.

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

8 years ago syscall: don't define PtraceRegs for Alpha
ian [Mon, 26 Jun 2017 17:59:12 +0000 (17:59 +0000)] 
syscall: don't define PtraceRegs for Alpha

    It's now defined by mksysinfo.sh.

    Patch by Uros Bizjak.

    Reviewed-on: https://go-review.googlesource.com/46712

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

8 years ago libgo: redefine ia64 struct names around linux/ptrace.h
ian [Mon, 26 Jun 2017 17:56:14 +0000 (17:56 +0000)] 
libgo: redefine ia64 struct names around linux/ptrace.h

    Avoid https://sourceware.org/bugzilla/show_bug.cgi?id=762.

    Patch by Andreas Schwab.

    Reviewed-on: https://go-review.googlesource.com/46711

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

8 years agoPR c++/81169 - -Wclass-memaccess illegitimate warning related to volatile
msebor [Mon, 26 Jun 2017 17:19:15 +0000 (17:19 +0000)] 
PR c++/81169 - -Wclass-memaccess illegitimate warning related to volatile

gcc/cp/ChangeLog:

PR c++/81169
* call.c (maybe_warn_class_memaccess): Preserve explicit conversions
to detect casting away cv-qualifiers.

gcc/testsuite/ChangeLog:

PR c++/81169
* g++.dg/Wclass-memaccess-2.C: New test.

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

8 years ago2017-06-26 Jerome Lambourg <lambourg@adacore.com>
hainque [Mon, 26 Jun 2017 17:04:44 +0000 (17:04 +0000)] 
2017-06-26  Jerome Lambourg  <lambourg@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

* config.gcc (*-*-vxworks*): Add TARGET_VXWORKS7=1 to tm_defines
for all vxworks7 targets.
* config/vxworks.h (TARGET_VXWORKS7): If not defined, define to 0.
(VXWORKS_ADDITIONAL_CPP_SPEC): Alternative definition for VXWORKS7.
(VXWORKS_LIBS_RTP, VXWORKS_LIBS_RTP_DIR): New macros, allowing
variations for VX6/VX7 and 32/64bits later on in ...
(VXWORKS_LIB_SPEC): Leverage new macros.
(VXWORKS_OS_CPP_BUILTINS): Define _VSB_CONFIG_FILE for VXWORKS7,
as well as _ALLOW_KEYWORD_MACROS when "inline" is not a keyword.

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

8 years ago gcc/cp/
nathan [Mon, 26 Jun 2017 16:38:40 +0000 (16:38 +0000)] 
gcc/cp/
* cp-tree.h (lang_decl_fn): Remove assignment_operator_p field.
(DECL_COMPLETE_CONSTRUCTOR_P): Directly compare
identifier.
(DECL_BASE_CONSTRUCTOR_P, DECL_COMPLETE_DESTRUCTOR_P)
DECL_BASE_DESTRUCTOR_P, DECL_DELETING_DESTRUCTOR_P): Likewise.
(DECL_ASSIGNMENT_OPERATOR_P): Use IDENTIFIER_ASSIGN_OP_P.
* decl.c (grok_op_properties): Adjust identifier checking.
* init.c (expand_default_init): Adjust identifier descision.
* method.c (implicitly_declare_fn): Don't use
DECL_ASSIGNMENT_OPERATOR_P.
* search.c (lookup_fnfields_1): Use IDENTIFIER_CTOR_P,
IDENTIFIER_DTOR_P.
* call.c (in_charge_arg_for_name): Reimplement.
(build_special_member_call): Use IDENTIFIER_CDTOR_P,
IDENTIFIER_DTOR_P.

libcc1/
* libcp1plugin.cc (plugin_build_decl): Don't set
DECL_ASSIGNMENT_OPERATOR_P.
(--This line, and those below, will be ignored--

M    gcc/cp/init.c
M    gcc/cp/decl.c
M    gcc/cp/method.c
M    gcc/cp/cp-tree.h
M    gcc/cp/call.c
M    gcc/cp/search.c
M    gcc/cp/ChangeLog
M    libcc1/ChangeLog
M    libcc1/libcp1plugin.cc

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

8 years ago2017-06-26 Jerome Lambourg <lambourg@adacore.com>
hainque [Mon, 26 Jun 2017 15:17:44 +0000 (15:17 +0000)] 
2017-06-26  Jerome Lambourg  <lambourg@adacore.com>

* config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): builtin_define
_VX_TOOL_FAMILY and _VX_TOOL to gnu.

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

8 years agogcc/ChangeLog:
carll [Mon, 26 Jun 2017 14:29:48 +0000 (14:29 +0000)] 
gcc/ChangeLog:

2017-06-26  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c.c: Add support for built-in functions
vector bool char vec_reve (vector bool char);
vector signed char vec_reve (vector signed char);
vector unsigned char vec_reve (vector unsigned char);
vector bool int vec_reve (vector bool int);
vector signed int vec_reve (vector signed int);
vector unsigned int vec_reve (vector unsigned int);
vector bool long long vec_reve (vector bool long long);
vector signed long long vec_reve (vector signed long long);
vector unsigned long long vec_reve (vector unsigned long long);
vector bool short vec_reve (vector bool short);
vector signed short vec_reve (vector signed short);
vector double vec_reve (vector double);
vector float vec_reve (vector float);
* config/rs6000/rs6000-builtin.def (VREVE_V2DI, VREVE_V4SI,
VREVE_V8HI, VREVE_V16QI, VREVE_V2DF, VREVE_V4SF, VREVE): New builtin.
* config/rs6000/altivec.md (UNSPEC_VREVEV): New UNSPEC.
(altivec_vreve): New pattern.
* config/rs6000/altivec.h (vec_reve): New define.
* doc/extend.texi (vec_rev): Update the built-in documentation file
for the new built-in functions.

gcc/testsuite/ChangeLog:

2017-06-26  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3-vec_reve-runnable.c:
Add new runnable test file for the vec_rev built-ins.

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

8 years ago[gcc]
wschmidt [Mon, 26 Jun 2017 14:19:33 +0000 (14:19 +0000)] 
[gcc]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/71815
* gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New
function.
(find_basis_for_candidate): Call uses_consumed_by_stmt rather than
has_single_use.
(slsr_process_phi): Likewise.
(replace_uncond_cands_and_profitable_phis): Don't replace a
multiply candidate with a stride of 1 (copy or cast).
(phi_incr_cost): Call uses_consumed_by_stmt rather than
has_single_use.
(lowest_cost_path): Likewise.
(total_savings): Likewise.

[gcc/testsuite]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/71815
* gcc.dg/tree-ssa/slsr-35.c: Remove -fno-code-hoisting workaround.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.

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

8 years ago[gcc]
wschmidt [Mon, 26 Jun 2017 14:17:35 +0000 (14:17 +0000)] 
[gcc]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New
function.
(find_basis_for_candidate): Call uses_consumed_by_stmt rather than
has_single_use.
(slsr_process_phi): Likewise.
(replace_uncond_cands_and_profitable_phis): Don't replace a
multiply candidate with a stride of 1 (copy or cast).
(phi_incr_cost): Call uses_consumed_by_stmt rather than
has_single_use.
(lowest_cost_path): Likewise.
(total_savings): Likewise.

[gcc/testsuite]

2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-35.c: Remove -fno-code-hoisting workaround.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.

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

8 years ago[PATCH][Testsuite]Use user defined memmove in gcc.c-torture/execute/builtins/memops...
renlin [Mon, 26 Jun 2017 13:28:32 +0000 (13:28 +0000)] 
[PATCH][Testsuite]Use user defined memmove in gcc.c-torture/execute/builtins/memops-asm-lib.c

After the change r249278. bcopy is folded into memmove. And in newlib
aarch64 memmove implementation, it will call memcpy in certain conditions.
The memcpy defined in memops-asm-lib.c will abort when the test is running.

A user defined memmove function is defined to bypass the library one.
So that memcpy won't be called accidentally.

gcc/testsuite/

* gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memmove): New.
* gcc.c-torture/execute/builtins/memops-asm.c (memmove): Declare memmove.

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

8 years ago2017-06-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Jun 2017 10:34:49 +0000 (10:34 +0000)] 
2017-06-26  Richard Biener  <rguenther@suse.de>

PR target/81175
* config/i386/i386.c (ix86_init_mmx_sse_builtins):
Use def_builtin_pure for all gather builtins.

* gfortran.dg/pr81175.f: New testcase.

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

8 years ago2017-06-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Jun 2017 10:33:12 +0000 (10:33 +0000)] 
2017-06-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/81203
* tree-tailcall.c (find_tail_calls): Do not move stmts into
non-dominating BBs.

* gcc.dg/torture/pr81203.c: New testcase.

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

8 years ago PR c/80116
mpolacek [Mon, 26 Jun 2017 10:02:27 +0000 (10:02 +0000)] 
PR c/80116
* c-common.h (warn_for_multistatement_macros): Declare.
* c-warn.c: Include "c-family/c-indentation.h".
(warn_for_multistatement_macros): New function.
* c.opt (Wmultistatement-macros): New option.
* c-indentation.c (guard_tinfo_to_string): No longer static.
Change the parameter type to "enum rid".  Handle RID_SWITCH.
* c-indentation.h (guard_tinfo_to_string): Declare.

* c-parser.c (c_parser_if_body): Set the location of the
body of the conditional after parsing all the labels.  Call
warn_for_multistatement_macros.
(c_parser_else_body): Likewise.
(c_parser_switch_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.
(c_parser_statement): Add a default argument.  Save the location
after labels have been parsed.
(c_parser_c99_block_statement): Likewise.

* parser.c (cp_parser_statement): Add a default argument.  Save the
location of the expression-statement after labels have been parsed.
(cp_parser_implicitly_scoped_statement): Set the location of the
body of the conditional after parsing all the labels.  Call
warn_for_multistatement_macros.
(cp_parser_already_scoped_statement): Likewise.

* doc/invoke.texi: Document -Wmultistatement-macros.

* c-c++-common/Wmultistatement-macros-1.c: New test.
* c-c++-common/Wmultistatement-macros-2.c: New test.
* c-c++-common/Wmultistatement-macros-3.c: New test.
* c-c++-common/Wmultistatement-macros-4.c: New test.
* c-c++-common/Wmultistatement-macros-5.c: New test.
* c-c++-common/Wmultistatement-macros-6.c: New test.
* c-c++-common/Wmultistatement-macros-7.c: New test.
* c-c++-common/Wmultistatement-macros-8.c: New test.
* c-c++-common/Wmultistatement-macros-9.c: New test.
* c-c++-common/Wmultistatement-macros-10.c: New test.
* c-c++-common/Wmultistatement-macros-11.c: New test.

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

8 years ago * c-c++-common/ubsan/sanitize-recover-7.c (dg-options): Add -w.
ebotcazou [Mon, 26 Jun 2017 09:49:08 +0000 (09:49 +0000)] 
* c-c++-common/ubsan/sanitize-recover-7.c (dg-options): Add -w.

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

8 years ago * MAINTAINERS: Add myself to Write After Approval.
chefmax [Mon, 26 Jun 2017 09:44:49 +0000 (09:44 +0000)] 
* MAINTAINERS: Add myself to Write After Approval.

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

8 years ago[ARM, testsuite] Add -mfloat-abi=hard to arm_neon_ok
clyon [Mon, 26 Jun 2017 09:25:55 +0000 (09:25 +0000)] 
[ARM, testsuite] Add -mfloat-abi=hard to arm_neon_ok

2017-06-02  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add flags with
-mfloat-abi=hard. Include arm_neon.h.
(check_effective_target_arm_neon_ok_no_float_abi_nocache): New.
(check_effective_target_arm_neon_ok_no_float_abi): New.
* gcc.target/arm/lto/pr65837_0.c: Require
arm_neon_ok_no_float_abi. Add -mfpu=neon to dg-lto-options.
* gcc.target/arm/lto/pr65837-attr_0.c: Require
arm_neon_ok_no_float_abi. Remove dg-suppress-ld-options.

gcc/
* doc/sourcebuild.texi (ARM-specific attributes): Document new
arm_neon_ok_no_float_abi effective target.

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

8 years ago2017-06-26 Richard Biener <rguenther@suse.de>
rguenth [Mon, 26 Jun 2017 07:19:37 +0000 (07:19 +0000)] 
2017-06-26  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/80928
* cfghooks.c (duplicate_block): Do not copy BB_DUPLICATED flag.
(copy_bbs): Set BB_DUPLICATED flag early.
(execute_on_growing_pred): Do not execute for BB_DUPLICATED
marked blocks.
(execute_on_shrinking_pred): Likewise.
* tree-ssa.c (ssa_redirect_edge): Do not look for PHI args in
BB_DUPLICATED blocks.
* tree-ssa-phionlycoprop.c (eliminate_degenerate_phis_1): Properly
iterate over all PHIs considering removal of *gsi.

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

8 years agoDaily bump.
gccadmin [Mon, 26 Jun 2017 00:16:27 +0000 (00:16 +0000)] 
Daily bump.

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