Uros Bizjak [Thu, 29 Sep 2016 18:55:26 +0000 (20:55 +0200)]
adx-check.h (main): Simplify feature bit tests.
* gcc.target/i386/adx-check.h (main): Simplify feature bit tests.
* gcc.target/i386/avx2-check.h (main): Ditto.
* gcc.target/i386/avx512bw-check.h (main): Ditto.
* gcc.target/i386/avx512cd-check.h (main): Ditto.
* gcc.target/i386/avx512dq-check.h (main): Ditto.
* gcc.target/i386/avx512er-check.h (main): Ditto.
* gcc.target/i386/avx512f-check.h (main): Ditto.
* gcc.target/i386/avx512ifma-check.h (main): Ditto.
* gcc.target/i386/avx512vbmi-check.h (main): Ditto.
* gcc.target/i386/avx512vl-check.h (main): Ditto.
From-SVN: r240631
Uros Bizjak [Thu, 29 Sep 2016 18:44:32 +0000 (20:44 +0200)]
re PR target/77756 (__get_cpuid() returns wrong values for level 7 (extended features))
PR target/77756
* config/i386/cpuid.h (__get_cpuid_count): New.
(__get_cpuid): Rename __level to __leaf.
testsuite/ChangeLog:
PR target/77756
* gcc.target/i386/pr77756.c: New test.
From-SVN: r240629
Marek Polacek [Thu, 29 Sep 2016 16:28:38 +0000 (16:28 +0000)]
* genattrtab.c (write_attr_case): Also emit FALLTHRU marker.
From-SVN: r240626
Bernd Schmidt [Thu, 29 Sep 2016 16:21:20 +0000 (11:21 -0500)]
builtins.c (expand_builtin_memcmp): don't swap args unless result is only being compared with zero.
2016-09-29 Bernd Schmidt <bschmidt@redhat.com>
* builtins.c (expand_builtin_memcmp): don't swap args unless
result is only being compared with zero.
From-SVN: r240625
Marek Polacek [Thu, 29 Sep 2016 16:04:17 +0000 (16:04 +0000)]
rtti.c (involves_incomplete_p): Add fall through comment.
* rtti.c (involves_incomplete_p): Add fall through comment.
* dwarf2out.c (loc_descriptor): Add fall through comment.
(add_const_value_attribute): Likewise.
From-SVN: r240624
Ville Voutilainen [Thu, 29 Sep 2016 15:20:28 +0000 (18:20 +0300)]
Make optional::reset noexcept, make optional::value work in constant expressions.
Make optional::reset noexcept, make optional::value
work in constant expressions.
* include/std/optional (_M_get): Make constexpr.
(reset): Make noexcept.
* testsuite/20_util/optional/assignment/7.cc: New.
* testsuite/20_util/optional/observers/6.cc: New.
From-SVN: r240623
Matthew Wahab [Thu, 29 Sep 2016 13:50:55 +0000 (13:50 +0000)]
[ARM] Fix new constraints and attributes of SI/HI data movement patterns
* config/arm/arm.md (*arm_movsi_insn): Replace "t2" arch attribute
with "v6t2". Move "arch" attribute above "pool_range".
* config/arm/vfp.md (*arm_movhi_vfp): Replace "t2" arch attribute
with "v6t2".
(*thumb2_movhi_vfp): Likewise.
(*arm_movhi_fp16): Likewise.
(*thumb2_movhi_fp16): Likewise.
(*arm_movsi_vfp): Remove "arch" attribute.
(*thumb2_movsi_vfp): Likewise.
From-SVN: r240622
Marek Polacek [Thu, 29 Sep 2016 13:27:48 +0000 (13:27 +0000)]
* g++.dg/cpp0x/fallthrough2.C: Use the c++14_down target.
From-SVN: r240621
Jonathan Wakely [Thu, 29 Sep 2016 13:25:48 +0000 (14:25 +0100)]
Define C++17 std::hypot without _GLIBCXX_USE_C99_MATH_TR1
* include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
outside _GLIBCXX_USE_C99_MATH_TR1 condition.
From-SVN: r240620
Marek Polacek [Thu, 29 Sep 2016 13:15:21 +0000 (13:15 +0000)]
fallthrough2.C: Only expect the warning in C++11 and C++14.
* g++.dg/cpp0x/fallthrough2.C: Only expect the warning in C++11 and
C++14.
From-SVN: r240619
Martin Liska [Thu, 29 Sep 2016 12:58:28 +0000 (14:58 +0200)]
objc: update documetation and add test-case of
* doc/extend.texi: Remove limitation of Objective C for
__attribute__((constructor)) and __attribute__((destructor)).
* objc/execute/construct1.m: New test.
From-SVN: r240618
Richard Biener [Thu, 29 Sep 2016 12:31:02 +0000 (12:31 +0000)]
re PR bootstrap/77768 (LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: internal compiler error: Segmentation fault)
2016-09-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/77768
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Handle stores to readonly memory when removing redundant stores.
* gcc.dg/torture/pr77768.c: New testcase.
From-SVN: r240617
Richard Biener [Thu, 29 Sep 2016 12:28:19 +0000 (12:28 +0000)]
re PR middle-end/77407 (Optimize integer i / abs (i) into the sign of i)
2016-09-29 Richard Biener <rguenther@suse.de>
PR middle-end/77407
* match.pd: Add X / abs (X) -> X < 0 ? -1 : 1 and
X / -X -> -1 simplifications.
* gcc.dg/pr77407.c: New testcase.
From-SVN: r240616
Richard Biener [Thu, 29 Sep 2016 12:27:19 +0000 (12:27 +0000)]
re PR middle-end/55152 (MAX_EXPR(a,-a) is really ABS_EXPR(a))
2016-09-29 Richard Biener <rguenther@suse.de>
PR middle-end/55152
* match.pd: Add max(a,-a) -> abs(a) pattern.
* tree-ssa-phiopt.c (minmax_replacement): Disable for
HONOR_SIGNED_ZEROS types.
* gcc.dg/pr55152.c: New testcase.
* gcc.dg/tree-ssa/phi-opt-5.c: Adjust.
From-SVN: r240615
James Greenhalgh [Thu, 29 Sep 2016 08:41:34 +0000 (08:41 +0000)]
[Patch] Remove all uses of TARGET_FLT_EVAL_METHOD_NON_DEFAULT and poison it
I'm going to hookize TARGET_FLT_EVAL_METHOD, so the current definition
of TARGET_FLT_EVAL_METHOD_NON_DEFAULT will stop working.
The relaxation enabled by TARGET_FLT_METHOD_NON_DEFAULT isn't portable,
and keeping it in place is tricky, so this patch removes it, and poisons
TARGET_FLT_EVAL_METHOD_NON_DEFAULT in system.h to prevent future use.
gcc/
* defaults.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Remove.
* system.h (TARGET_FLT_EVAL_METHOD_NON_DEFAULT): Poison.
gcc/c-family/
* c-opts.c (c_common_post_options): Remove special case for
TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
in C++.
gcc/java/
* lang.c (java_post_options): Remove special case for
TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
gcc/fortran/
* options.c (gfc_post_options): Remove special case for
TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
gcc/ada/
* gcc-interface/misc.c (gnat_post_options): Remove special case for
TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
From-SVN: r240614
Rainer Orth [Thu, 29 Sep 2016 08:39:04 +0000 (08:39 +0000)]
Fix 64-bit gcc.dg/profile-update-warning.c on 32-bit-default x86
* gcc.dg/profile-update-warning.c: Restrict to ia32.
(dg-options): Remove -m32.
From-SVN: r240613
Richard Biener [Thu, 29 Sep 2016 07:20:13 +0000 (07:20 +0000)]
tree-vrp.c (set_defs_to_varying): New helper avoiding writing to vr_const_varying.
2016-09-29 Richard Biener <rguenther@suse.de>
* tree-vrp.c (set_defs_to_varying): New helper avoiding
writing to vr_const_varying.
(vrp_initialize): Call it.
(vrp_visit_stmt): Likewise.
(evrp_dom_walker::before_dom_children): Likewise.
From-SVN: r240612
Richard Biener [Thu, 29 Sep 2016 07:16:10 +0000 (07:16 +0000)]
tree-vect-stmts.c (vectorizable_load): Avoid emitting vector constructors with vector elements.
2016-09-29 Richard Biener <rguenther@suse.de>
* tree-vect-stmts.c (vectorizable_load): Avoid emitting vector
constructors with vector elements.
From-SVN: r240611
Richard Biener [Thu, 29 Sep 2016 07:15:13 +0000 (07:15 +0000)]
re PR bootstrap/77768 (LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: internal compiler error: Segmentation fault)
2016-09-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/77768
* tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
with stores to a place we know has a constant value.
From-SVN: r240610
Ian Lance Taylor [Thu, 29 Sep 2016 00:56:44 +0000 (00:56 +0000)]
runtime: copy runtime.go and runtime1.go from Go 1.7
Also copy over cputicks.go, env_posix.go, vdso_none.go, stubs2.go, and a
part of os_linux.go. Remove the corresponding functions from the C code
in libgo/go/runtime. Add some transitional support functions to
stubs.go. This converts several minor functions from C to Go.
Reviewed-on: https://go-review.googlesource.com/29962
From-SVN: r240609
GCC Administrator [Thu, 29 Sep 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240607
Alan Modra [Wed, 28 Sep 2016 22:03:17 +0000 (07:33 +0930)]
Disable .gnu.attributes tags in compatibility-ldbl.o
compatibility-ldbl.o is compiled with -mlong-double-64. When
long double .gnu.attributes tags are checked by the linker, it
complains about the mismatch between this file and others in
libstdc++.
* configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
* src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
Use LONG_DOUBLE_COMPAT_FLAGS.
* Makefile.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* src/filesystem/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r240602
Alan Modra [Wed, 28 Sep 2016 22:01:48 +0000 (07:31 +0930)]
[RS6000] .gnu.attributes Tag_GNU_Power_ABI_FP
Extend this attribute to cover long double ABIs, for 64-bit too.
This patch also corrects an error that crept in to code setting
rs6000_passes_float. See the added comment. Passing IEEE128 values
in vsx regs ought to set both Tag_GNU_Power_ABI_FP and
Tag_GNU_Power_ABI_Vector. Also adds a new option, default on, that
disables output of .gnu_attribute assembly directives.
* config/rs6000/sysv4.opt (mgnu-attribute): New option.
* doc/invoke.texi: Document it.
* config/rs6000/rs6000.c (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): Define.
(rs6000_passes_float): Comment.
(rs6000_passes_long_double): New static var.
(call_ABI_of_interest): Return false unless rs6000_gnu_attr is set.
(init_cumulative_args): Set up to emit fp .gnu_attribute for
ELF 64-bit ABIs as well as 32-bit ELF. Correct rs6000_passes_float
to include fp values returned in vectors.
Set rs6000_passes_long_double.
(rs6000_function_arg_advance_1): Likewise for function args.
(rs6000_elf_file_end): Emit fp .gnu_attribute for ELF 64-bit ABIs,
and SPE. Emit long double tag value too.
(rs6000_opt_vars): Add gnu-attr.
* configure.ac (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE): New ppc32 test.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r240601
Jakub Jelinek [Wed, 28 Sep 2016 21:52:53 +0000 (23:52 +0200)]
gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead of 0 < x.
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead
of 0 < x.
(format_floating, format_string, format_directive,
get_destination_size, pass_sprintf_length::handle_gimple_call):
Likewise.
From-SVN: r240600
Uros Bizjak [Wed, 28 Sep 2016 21:29:47 +0000 (23:29 +0200)]
re PR target/77756 (__get_cpuid() returns wrong values for level 7 (extended features))
PR target/77756
* config/i386/cpuid.h (__get_cpuid): Handle CPUID level >= 7.
testsuite/ChangeLog:
PR target/77756
* gcc.target/i386/pr77756.c: New test.
From-SVN: r240597
Martin Sebor [Wed, 28 Sep 2016 19:51:08 +0000 (19:51 +0000)]
PR middle-end/77721 - -Wformat-length not uses arg range for converted vars
gcc/testsuite/ChangeLog:
PR middle-end/77721
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: New test.
From-SVN: r240595
Jakub Jelinek [Wed, 28 Sep 2016 19:47:04 +0000 (21:47 +0200)]
gimple-ssa-sprintf.c: Fix comment formatting.
* gimple-ssa-sprintf.c: Fix comment formatting.
(format_integer): Use is_gimple_assign.
(pass_sprintf_length::handle_gimple_call): Use gimple_call_builtin_p
and gimple_call_fndecl. Reorder case BUILT_IN_SPRINTF_CHK. Fix up
BUILT_IN_SNPRINTF_CHK comment. Replace "to to" with "to" in comment.
(pass_sprintf_length::execute): Use is_gimple_call.
From-SVN: r240594
Jerry DeLisle [Wed, 28 Sep 2016 19:43:03 +0000 (19:43 +0000)]
re PR fortran/77707 (formatted direct access: nextrec off by one)
2016-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77707
* gfortran.dg/inquire_17.f90: New test.
From-SVN: r240593
Jerry DeLisle [Wed, 28 Sep 2016 19:38:03 +0000 (19:38 +0000)]
re PR fortran/77707 (formatted direct access: nextrec off by one)
2016-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77707
io/transfer.c (next_record): Flush before calculating next_record.
Correctly calculate.
From-SVN: r240592
Jakub Jelinek [Wed, 28 Sep 2016 19:21:47 +0000 (21:21 +0200)]
re PR c++/77467 (Segmentation fault with switch statement in constexpr function)
PR c++/77467
* constexpr.c (enum constexpr_switch_state): New.
(struct constexpr_ctx): Add css_state field.
(label_matches): Add CTX and STMT arguments, remove I and
DEFAULT_LABEL. For CASE_LABEL_EXPR assert ctx->css_state != NULL,
handle default labels according to css_state.
(cxx_eval_statement_list): Remove statement skipping, label_matches
and default_label handling code.
(cxx_eval_loop_expr): Exit after first iteration even if
switches (jump_target).
(cxx_eval_switch_expr): Set up css_state field in ctx, if default
label has been seen in the body, but no cases matched, evaluate
the body second time.
(cxx_eval_constant_expression): Handle stmt skipping and label_matches
here. Handle PREDICT_EXPR. For MODIFY_EXPR or INIT_EXPR, assert
statement is not skipped. For COND_EXPR during skipping, don't
evaluate condition, just the then block and if still skipping at the
end also the else block.
(cxx_eval_outermost_constant_expr): Adjust constexpr_ctx initializer.
(is_sub_constant_expr): Likewise.
* g++.dg/cpp1y/constexpr-77467.C: New test.
From-SVN: r240591
Uros Bizjak [Wed, 28 Sep 2016 18:22:16 +0000 (20:22 +0200)]
cpuinfo.c (__get_cpuid_output): Remove.
* config/i386/cpuinfo.c (__get_cpuid_output): Remove.
(__cpu_indicator_init): Call __get_cpuid, not __get_cpuid_output.
From-SVN: r240590
Jonathan Wakely [Wed, 28 Sep 2016 18:04:23 +0000 (19:04 +0100)]
* include/std/chrono (system_clock): Fix typo in comment.
From-SVN: r240589
Ian Lance Taylor [Wed, 28 Sep 2016 18:02:40 +0000 (18:02 +0000)]
libgo: fix for runtime/check failure with "-O0 -g"
Tweak the makefile rules for the runtime/check test to
insure that the runtime package is compiled with
"-fgo-compiling-runtime". This resolves a test failure
(unsat on runtime.getcallerpc) when in a build directory where the
compiler flags have been configured to disable optimization.
Reviewed-on: https://go-review.googlesource.com/30010
From-SVN: r240588
Jonathan Wakely [Wed, 28 Sep 2016 18:02:25 +0000 (19:02 +0100)]
Check for overflow in filesystem::last_write_time
* include/experimental/bits/fs_fwd.h (file_time_type): Simplify
definition.
* src/filesystem/ops.cc (file_time): Take error_code parameter and
check for overflow.
(do_copy_file, last_write_time): Pass error_code in file_time calls.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
New.
* testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
From-SVN: r240587
Wilco Dijkstra [Wed, 28 Sep 2016 16:31:34 +0000 (16:31 +0000)]
If strchr can't be folded in gimple-fold...
If strchr can't be folded in gimple-fold, we still need to fall into
the generic code so the folding code in builtins.c is also called.
gcc/
* gimple-fold.c (gimple_fold_builtin): After failing to fold
strchr, also try the generic folding.
From-SVN: r240585
Martin Sebor [Wed, 28 Sep 2016 16:24:35 +0000 (16:24 +0000)]
PR c/77762 - Incorrect destination buffer length in -Wformat-length warning
gcc/testsuite/ChangeLog:
PR c/77762
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (test_vsnprintf_chk_s):
Call __builtin___vsnprintf_chk, not __builtin___snprintf_chk.
(test_sprintf_p_const): Adjust line numbers to avoid failures
introduced in r240503.
gcc/ChangeLog:
PR c/77762
* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
Fix typos.
From-SVN: r240584
Martin Sebor [Wed, 28 Sep 2016 16:13:12 +0000 (16:13 +0000)]
PR middle-end/77683 - ICE on %lf directive in format_floating in
gcc/testsuite/ChangeLog:
PR middle-end/77683
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
gcc/ChangeLog:
PR middle-end/77683
* gimple-ssa-sprintf.c (format_integer): Fail gracefully when
length modifier is not expected.
(format_floating): Ignore l length modifier and fail gracefuly
when it isn't one of the other expected ones.
From-SVN: r240583
Martin Sebor [Wed, 28 Sep 2016 16:02:06 +0000 (16:02 +0000)]
PR bootstrap/77753 - [7 Regression] broken profiledbootstrap due to
gcc/ChangeLog:
PR bootstrap/77753
* varasm.c (assemble_addr_to_section): Increase local buffer size.
From-SVN: r240581
Richard Biener [Wed, 28 Sep 2016 14:31:04 +0000 (14:31 +0000)]
dwarf2out.c (cu_die_list): New global.
2016-09-27 Richard Biener <rguenther@suse.de>
* dwarf2out.c (cu_die_list): New global.
(dwarf2out_finish): Walk cu_die_list instead of limbo DIEs. Add
main_comp_unit_die to cu_die_list if we created it.
Move break_out_includes ...
(dwarf2out_early_finish): ... here. Push created CU DIEs onto
the cu_die_list.
From-SVN: r240579
Richard Biener [Wed, 28 Sep 2016 14:30:19 +0000 (14:30 +0000)]
dwarf2out.c (struct die_struct): Add removed flag.
2016-09-28 Richard Biener <rguenther@suse.de>
* dwarf2out.c (struct die_struct): Add removed flag.
(lookup_type_die): If the DIE is marked as removed, clear
TYPE_SYMTAB_DIE and return NULL.
(lookup_decl_die): If the DIE is marked as removed, remove it
from the hash and return NULL.
(mark_removed): New helper.
(prune_unused_types_prune): Call it for removed DIEs.
(gen_subprogram_die): Move the premark_used_types call to after
DIEs for the functions scopes are generated.
(process_scope_var): Do not re-create pruned types or type decls.
Make sure to also re-parent type decls.
(dwarf2out_finish): Move unused type pruning and debug_types
handling ...
(dwarf2out_early_finish): ... here.
From-SVN: r240578
Claudiu Zissulescu [Wed, 28 Sep 2016 14:25:21 +0000 (16:25 +0200)]
[ARC] New CPU C-define handler.
gcc/
2016-09-29 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-c.c: New file.
* config/arc/arc-c.def: Likewise.
* config/arc/t-arc: Likewise.
* config.gcc: Include arc-c.o as c and cpp object.
* config/arc/arc-protos.h (arc_cpu_cpp_builtins): Add prototype.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Use
arc_cpu_cpp_builtins.
From-SVN: r240577
Claudiu Zissulescu [Wed, 28 Sep 2016 13:26:32 +0000 (15:26 +0200)]
[ARC] Add simple shift/rotate ops.
2016-09-29 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (*rotrsi3_cnt1): New pattern,
(*ashlsi2_cnt1, *lshrsi3_cnt1, *ashrsi3_cnt1): Likewise.
From-SVN: r240576
Bernd Edlinger [Wed, 28 Sep 2016 12:11:57 +0000 (12:11 +0000)]
re PR c++/77748 (pr77550.C fails on arm-none-eabi)
2016-09-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77748
* g++.dg/pr77550.C: Avoid undefined behavior.
From-SVN: r240573
Bernd Edlinger [Wed, 28 Sep 2016 12:08:11 +0000 (12:08 +0000)]
pr68198.c: Fix dg-final.
2016-09-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.dg/tree-ssa/pr68198.c: Fix dg-final.
From-SVN: r240572
Nathan Sidwell [Wed, 28 Sep 2016 11:26:16 +0000 (11:26 +0000)]
gimple-pretty-print.c (dump_gimple_call_args): Simplify "' " printing.
* gimple-pretty-print.c (dump_gimple_call_args): Simplify "' "
printing.
From-SVN: r240570
Claudiu Zissulescu [Wed, 28 Sep 2016 11:12:41 +0000 (13:12 +0200)]
[ARC COMMITTED] MAINTAINERS (Reviewers): Add myself.
2016-09-28 Claudiu Zissulescu <claziss@synopsys.com>
* MAINTAINERS (Reviewers): Add myself.
From-SVN: r240569
Wilco Dijkstra [Wed, 28 Sep 2016 11:06:41 +0000 (11:06 +0000)]
Optimize strchr (s, 0) to s + strlen (s).
Optimize strchr (s, 0) to s + strlen (s). strchr (s, 0) appears a common
idiom for finding the end of a string, however it is not a very efficient
way of doing so. Strlen is a much simpler operation which is significantly
faster (eg. on x86 strlen is 50% faster for strings of 8 bytes and about
twice as fast as strchr on strings of 1KB).
gcc/
* gimple-fold.c (gimple_fold_builtin_strchr):
New function to optimize strchr (s, 0) to strlen.
(gimple_fold_builtin): Add BUILT_IN_STRCHR case.
testsuite/
* gcc.dg/strlenopt-20.c: Update test.
* gcc.dg/strlenopt-21.c: Likewise.
* gcc.dg/strlenopt-22.c: Likewise.
* gcc.dg/strlenopt-22g.c: Likewise.
* gcc.dg/strlenopt-26.c: Likewise.
* gcc.dg/strlenopt-5.c: Likewise.
* gcc.dg/strlenopt-7.c: Likewise.
* gcc.dg/strlenopt-9.c: Likewise.
From-SVN: r240568
Jonathan Wakely [Wed, 28 Sep 2016 10:57:46 +0000 (11:57 +0100)]
libstdc++/77686 use may_alias for std::function storage
PR libstdc++/77686
* include/std/functional (_Any_data): Add may_alias attribute.
From-SVN: r240567
Robin Dapp [Wed, 28 Sep 2016 05:13:19 +0000 (05:13 +0000)]
re PR tree-optimization/77724 (bootstrap-O3 broken: ICE: in tree_to_uhwi, at tree.c:7330)
Fix PR tree-optimization/77724
2016-09-27 Robin Dapp <rdapp@linux.vnet.ibm.com>
PR tree-optimization/77724
* tree-vect-loop-manip.c (create_intersect_range_checks_index):
Add tree_fits_shwi_p check.
From-SVN: r240565
Jeff Law [Wed, 28 Sep 2016 04:47:13 +0000 (22:47 -0600)]
Fix Liu Hao's name in ChangeLog entry
From-SVN: r240564
GCC Administrator [Wed, 28 Sep 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240563
Ian Lance Taylor [Tue, 27 Sep 2016 21:32:50 +0000 (21:32 +0000)]
libgo: separate mksysinfo inputs into separate Makefile targets
This is a step toward a version of mksysinfo that generates information
for the runtime package. This will be used to generate the
runtime_sysinfo.go file, which is currently directly generated by a
Makefile target.
Reviewed-on: https://go-review.googlesource.com/29683
From-SVN: r240560
Ian Lance Taylor [Tue, 27 Sep 2016 21:25:42 +0000 (21:25 +0000)]
compiler: avoid call duplication during order eval.
During the compiler's order_evaluations() pass, duplicate
call statements were being created and inserted into block
statement lists in situations where there were calls returning
multiple arguments. These duplicates were benign in that they
were ignored during backend code generation, however they
did cause duplicate calls in AST dumps. Tweak the order
evaluation code to handle this case better and avoid inserting
these duplicates.
Fixes golang/go#17237
Reviewed-on: https://go-review.googlesource.com/29857
From-SVN: r240559
Than McIntosh [Tue, 27 Sep 2016 20:49:05 +0000 (20:49 +0000)]
compiler: add src information to AST dumps (part 1 of 2).
When emitting AST dumps, tag the end of selected statements with with
source file and line number information where available. Example:
tmp.
76832448 = 0 // p.go:6
Requires a corresponding change in gcc/go as well as this change to
gofrontend.
Reviewed-on: https://go-review.googlesource.com/29856
* go-linemap.cc (Gcc_linemap::to_string): New method.
From-SVN: r240558
Jakub Jelinek [Tue, 27 Sep 2016 19:59:41 +0000 (21:59 +0200)]
c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for -std=c++1z.
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
-std=c++1z.
* g++.dg/cpp1z/feat-cxx1z.C: Add __cpp_capture_star_this test.
From-SVN: r240557
Jakub Jelinek [Tue, 27 Sep 2016 19:10:38 +0000 (21:10 +0200)]
Implement P0018R3, C++17 lambda capture of *this by value as [=,*this]
Implement P0018R3, C++17 lambda capture of *this by value as [=,*this]
* parser.c (cp_parser_lambda_introducer): Formatting fix. Pass
true instead of false as by_reference_p to add_capture for 'this'.
Parse '*this' simple-capture.
* lambda.c (build_capture_proxy): Handle '*this' capture by value.
(add_capture): Adjust function comment. For id == this_identifier,
treat by_reference_p as capturing '*this' by reference, i.e. 'this'
by value, and !by_reference_p as capturing '*this' by value.
(add_default_capture): For implicit 'this' capture, always pass
by_reference_p true rather than false.
* g++.dg/cpp1z/lambda-this1.C: New test.
* g++.dg/cpp1z/lambda-this2.C: New test.
From-SVN: r240556
Jakub Jelinek [Tue, 27 Sep 2016 18:15:21 +0000 (20:15 +0200)]
re PR c++/77722 (-fsanitize=undefined doesn't give runtime error in function without return value, unless at least 2 instructions)
PR c++/77722
* cp-gimplify.c (cp_ubsan_maybe_instrument_return): Instrument also
functions that have just a STATEMENT_LIST instead of BIND_EXPR, or
BIND_EXPR with some statement rather than STATEMENT_LIST as body.
* g++.dg/ubsan/return-4.C: New test.
* g++.dg/ubsan/return-5.C: New test.
* g++.dg/ubsan/return-6.C: New test.
From-SVN: r240555
Jakub Jelinek [Tue, 27 Sep 2016 18:14:10 +0000 (20:14 +0200)]
auto-inc-dec.c (try_merge): Remove break after return.
* auto-inc-dec.c (try_merge): Remove break after return.
* cselib.c (autoinc_split): Likewise.
* explow.c (promote_mode): Likewise.
* fixed-value.c (fixed_arithmetic): Likewise.
* hsa.c (hsa_internal_fn::get_arity): Likewise.
* rtlanal.c (modified_between_p, modified_in_p): Likewise.
* trans-mem.c (get_attrs_for): Likewise.
* tree-if-conv.c (if_convertible_stmt_p): Likewise.
* tree-vrp.c (simplify_stmt_using_ranges): Likewise.
* config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Likewise.
* config/aarch64/aarch64.c (aarch64_get_condition_code_1): Likewise.
* config/c6x/c6x.c (c6x_get_unit_specifier): Likewise.
* config/cr16/cr16.c (legitimate_pic_operand_p): Likewise.
* config/cris/cris.c (cris_op_str): Likewise.
* config/mn10300/mn10300.c (cc_flags_for_code): Likewise.
* config/tilepro/tilepro.c (tilepro_emit_setcc_internal_di): Likewise.
c-family/
* c-ada-spec.c (print_ada_declaration): Remove break after return.
objc/
* objc-act.c (continue_class): Remove break after return.
(objc_maybe_printable_name): Likewise.
fortran/
* dependency.c (gfc_dep_compare_expr): Remove break after return.
* frontend-passes.c (optimize_op): Likewise.
* interface.c (gfc_current_interface_head): Likewise.
* symbol.c (check_conflict): Likewise.
* trans-intrinsic.c (build_fix_expr): Likewise.
ada/
* terminals.c (is_gui_app): Remove break after return.
From-SVN: r240554
Nathan Sidwell [Tue, 27 Sep 2016 16:46:21 +0000 (16:46 +0000)]
internal-fn.h (IFN_UNIQUE_CODES, [...]): New.
* internal-fn.h (IFN_UNIQUE_CODES, IFN_GOACC_LOOP_CODES,
IFN_GOACC_REDUCTION_CODES): New.
(enum ifn_unique_kind, enum ifn_goacc_loop_kind, enum
ifn_goacc_reduction_kind): Use them.
* gimple-pretty-print.c (dump_gimple_call_args): Decode first arg
of internal functions, when applicable.
From-SVN: r240552
Jiong Wang [Tue, 27 Sep 2016 15:41:41 +0000 (15:41 +0000)]
[Obvious] Delete one redundant word in target-supports.exp comment
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_v8_2a_fp16_scalar_hw): Delete redundant word
in function comment.
From-SVN: r240551
Jonathan Wakely [Tue, 27 Sep 2016 15:39:51 +0000 (16:39 +0100)]
Define feature macro and update C++17 library status
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/*: Regenerate.
* include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
* testsuite/20_util/function_objects/searchers.cc: Test feature macro.
From-SVN: r240550
Jonathan Wakely [Tue, 27 Sep 2016 15:14:24 +0000 (16:14 +0100)]
Define 3-argument overloads of std::hypot for C++17 (P0030R1)
* doc/xml/manual/status_cxx2017.xml: Update status.
* include/c_global/cmath (hypot): Add three-dimensional overloads.
* testsuite/26_numerics/headers/cmath/hypot.cc: New.
From-SVN: r240547
Maciej W. Rozycki [Tue, 27 Sep 2016 15:08:51 +0000 (15:08 +0000)]
MIPS/GCC/doc: Fix `d' constraint description
Revert a part of the `d' constraint documentation update made with
commit 111868 ("Use define_constraint for MIPS"),
<https://gcc.gnu.org/ml/gcc-patches/2006-03/msg00460.html>,
<https://gcc.gnu.org/ml/gcc-patches/2006-03/msg00541.html>, which
inadvertently made the registers covered to be referred to as "address"
rather than "general-purpose" registers, and then further clarify the
set of registers allowed with MIPS16 code.
* config/mips/constraints.md (d): Fix documentation.
* doc/md.texi (Machine Constraints): Update accordingly.
From-SVN: r240546
Richard Biener [Tue, 27 Sep 2016 14:34:25 +0000 (14:34 +0000)]
Fix pch with Solaris as
2016-09-27 Richard Biener <rguenther@suse.de>
* dwarf2out.c (dwarf2out_init): Move text_section_line_info,
cur_line_info_table initialization ...
(dwarf2out_assembly_start): ... here.
From-SVN: r240545
Matthew Wahab [Tue, 27 Sep 2016 14:10:43 +0000 (14:10 +0000)]
Commit files missed in revision 240541.
From-SVN: r240542
Matthew Wahab [Tue, 27 Sep 2016 14:09:10 +0000 (14:09 +0000)]
[ARM] Fix invalid instructions generated for data movement.
gcc/
2016-09-27 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm.md (*arm_movsi_insn): Add "arch" attribute.
* config/arm/vfp.md (*arm_movhi_vfp): Likewise.
(*thumb2_movhi_vfp): Likewise.
(*arm_movhi_fp16): Remove predication operand from VMOV.F16
template. Expand predicable attribute to mark VMOV.F16 as not
predicable. Add "arch" attribute.
(*thumb2_movhi_fp16): Likewise.
(*arm_movsi_vfp): Break a long line. Add "arch" attribute.
(*thumb2_movsi_vfp): Add "arch" attribute.
From-SVN: r240541
David Edelsohn [Tue, 27 Sep 2016 14:01:41 +0000 (14:01 +0000)]
* config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify VAR_DECL string.
From-SVN: r240540
Marek Polacek [Tue, 27 Sep 2016 13:53:10 +0000 (13:53 +0000)]
c6x.h: Adjust fall through comment.
* config/c6x/c6x.h: Adjust fall through comment.
* config/sh/sh.c (final_prescan_insn): Likewise.
* config/visium/visium.c (visium_expand_int_cstore): Likewise.
(visium_expand_fp_cstore): Likewise.
From-SVN: r240539
Marek Polacek [Tue, 27 Sep 2016 13:43:45 +0000 (13:43 +0000)]
ia64.c (ia64_print_operand): Adjust fall through comment.
* config/ia64/ia64.c (ia64_print_operand): Adjust fall through
comment.
From-SVN: r240538
Kyrylo Tkachov [Tue, 27 Sep 2016 13:38:55 +0000 (13:38 +0000)]
[ARM] Fix -Wimplicit-fallthrough warnings
* config/arm/arm.c (const_ok_for_op): Use "Fall through" comment form
expected by -Wimplicit-fallthrough.
(thumb1_size_rtx_costs): Likewise.
(thumb2_reorg): Likewise.
(tls_mentioned_p): Add "Fall through" comment.
(thumb2_reorg): Likewise.
* config/arm/arm-builtins.c (arm_expand_neon_args): Use "Fall through"
comment form expected by -Wimplicit-fallthrough.
From-SVN: r240537
Martin Liska [Tue, 27 Sep 2016 13:22:04 +0000 (15:22 +0200)]
re PR gcov-profile/46266 (gcov generates data for non-existing file <built-in>)
Fix PR gcov-profile/46266
PR gcov-profile/46266
* lib/gcov.exp: Verify that <built-in>.gcov file is not
considered.
* input.h (RESERVED_LOCATION_P): New macro.
* profile.c (branch_prob): Use RESERVED_LOCATION_P and
instread of comparison with UNKNOWN_LOCATION.
From-SVN: r240536
Olivier Hainque [Tue, 27 Sep 2016 12:59:11 +0000 (12:59 +0000)]
MAINTAINERS (VxWorks ports): Add self.
2016-09-27 Olivier Hainque <hainque@adacore.com>
* MAINTAINERS (VxWorks ports): Add self.
(Write After Approval): Update self email address.
From-SVN: r240535
Richard Biener [Tue, 27 Sep 2016 12:56:38 +0000 (12:56 +0000)]
re PR tree-optimization/77745 (Inconsistent application of aliasing rules)
2016-09-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/77745
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
When removing redundant stores make sure to check compatibility
of the TBAA state for downstream accesses.
* tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
value-numbering virtual operands for store matches.
* g++.dg/torture/pr77745.C: New testcase.
From-SVN: r240534
Oleg Endo [Tue, 27 Sep 2016 12:50:27 +0000 (12:50 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
gcc/
PR target/51244
* config/sh/sh.c (sh_rtx_costs): Fix return value of SET of movt and
movrt patterns. Match them before anything else in the SET case.
From-SVN: r240533
Richard Biener [Tue, 27 Sep 2016 11:27:54 +0000 (11:27 +0000)]
re PR target/77478 (Incorrect code generated with -O3, m32, -msse2 and -ffast-math)
2016-09-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/77478
* gcc.dg/torture/pr77478.c: New testcase.
From-SVN: r240530
Martin Liska [Tue, 27 Sep 2016 11:07:11 +0000 (13:07 +0200)]
gcov: dump in a static dtor instead of in an atexit handler
PR gcov-profile/7970
PR gcov-profile/16855
PR gcov-profile/44779
* g++.dg/gcov/pr16855.C: New test.
* coverage.c (build_gcov_exit_decl): New function.
(coverage_obj_init): Call the function and generate __gcov_exit
destructor.
* doc/gcov.texi: Document when __gcov_exit function is called.
* libgcov-driver.c (__gcov_init): Do not register a atexit
handler.
(__gcov_exit): Rename from gcov_exit.
* libgcov.h (__gcov_exit): Declare.
From-SVN: r240529
Senthil Kumar Selvaraj [Tue, 27 Sep 2016 11:05:25 +0000 (11:05 +0000)]
Fix bogus test failure for avr
The test has a bunch of hardcoded integer literals that would fit only in a
32 bits+ int, causing overflow warnings for a 16 bit int target like avr.
gcc/testsuite/ChangeLog
2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Require int32plus.
From-SVN: r240528
Marek Polacek [Tue, 27 Sep 2016 10:40:37 +0000 (10:40 +0000)]
re PR bootstrap/77751 (cc1plus: error: unrecognized command line option "-Wno-implicit-fallthrough" for insn-emit.o)
PR bootstrap/77751
* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Use
-Wno-error instead of -Wno-implicit-fallthrough.
From-SVN: r240526
Martin Liska [Tue, 27 Sep 2016 10:04:39 +0000 (12:04 +0200)]
Remove __gcov_merge_delta (PR bootstrap/77749)
PR bootstrap/77749
* gcov-counter.def: Remove GCOV_COUNTER_V_DELTA.
PR bootstrap/77749
* Makefile.in: Remove _gcov_merge_delta.
* libgcov-merge.c (void __gcov_merge_delta): Remove.
* libgcov-util.c (__gcov_delta_counter_op): Remove.
* libgcov.h: Remove declaration of __gcov_merge_delta.
From-SVN: r240524
Jakub Jelinek [Tue, 27 Sep 2016 08:15:26 +0000 (10:15 +0200)]
combine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
* combine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
* config/i386/i386.c (ix86_dep_by_shift_count_body): Add FALLTHROUGH
comments. Remove break after return.
(ix86_fp_compare_code_to_integer, has_dispatch,
ix86_simd_clone_usable): Remove break after return.
From-SVN: r240523
Jakub Jelinek [Tue, 27 Sep 2016 07:52:28 +0000 (09:52 +0200)]
re PR fortran/77666 (ICE in gfc_omp_clause_default_ctor, at fortran/trans-openmp.c:471)
PR fortran/77666
* trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
references to allocatable arrays.
* gfortran.dg/gomp/pr77666.f90: New test.
From-SVN: r240522
Bernd Edlinger [Tue, 27 Sep 2016 04:54:49 +0000 (04:54 +0000)]
re PR rtl-optimization/77714 (Wrong code generation for gcc.c-torture/execute/pr51447.c)
2016-09-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rlt-optimization/77714
* lra-eliminations.c (eliminate_regs_in_insn): Avoid alias on
REG_EQUAL note.
From-SVN: r240518
Kugan Vivekanandarajah [Tue, 27 Sep 2016 03:41:14 +0000 (03:41 +0000)]
Fix ipa-vrp convert value_range
gcc/ChangeLog:
2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Use
extract_range_from_unary_expr to convert value_range.
* tree-vrp.c (extract_range_from_unary_expr_1): Rename to.
(extract_range_from_unary_expr): This.
* tree-vrp.h (extract_range_from_unary_expr): Declare.
gcc/testsuite/ChangeLog:
2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
* gcc.dg/torture/pr77677-2.c: New test.
From-SVN: r240517
Segher Boessenkool [Tue, 27 Sep 2016 00:37:07 +0000 (02:37 +0200)]
rs6000: Disparage CTR and LR in movcc_internal1
LRA likes to use CTR and LR to store CCmode values. Not such a good
idea. All other similar patterns disparage using CTR and LR; do so
here, too.
* config/rs6000/rs6000.md (movcc_internal1): Disparage using CTR or LR.
From-SVN: r240515
GCC Administrator [Tue, 27 Sep 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r240514
Ville Voutilainen [Mon, 26 Sep 2016 20:51:42 +0000 (23:51 +0300)]
re PR libstdc++/77727 (Unwrapping std::optional constructor is not working for non-transferable object)
PR libstdc++/77727
* include/std/optional (optional(const optional<_Up>&)):
Default-initialize the base and use emplace.
(optional(optional<_Up>&&)): Likewise.
* testsuite/20_util/optional/cons/77727.cc: New.
From-SVN: r240511
François Dumont [Mon, 26 Sep 2016 20:32:39 +0000 (20:32 +0000)]
2016-09-26 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_base.h
(_Safe_iterator_base::_M_detach_single): Make public.
From-SVN: r240510
Rainer Orth [Mon, 26 Sep 2016 20:13:21 +0000 (20:13 +0000)]
Fix fallthrough comments for Ada, Solaris/x86, SPARC
gcc:
* config/i386/i386.c (ix86_print_operand)
[HAVE_AS_IX86_CMOV_SUN_SYNTAX]: Add gcc_fallthrough.
* config/sparc/sparc.c (check_pic): Add fallthrough comment.
(epilogue_renumber): Likewise.
gcc/ada:
* gcc-interface/decl.c: Fix fall through comment formatting.
* gcc-interface/misc.c: Likewise.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
* gcc-interface/utils2.c: Likewise.
From-SVN: r240509
Steven G. Kargl [Mon, 26 Sep 2016 18:44:36 +0000 (18:44 +0000)]
re PR fortran/77420 (gfortran and equivalence produces internal compiler error)
2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* trans-common.c: Handle array elements in equivalence when
the lower and upper bounds of array spec are NULL.
2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* gfortran.dg/pr77420_1.f90: New test.
* gfortran.dg/pr77420_2.f90: Ditto.
* gfortran.dg/pr77420_3.f90: New test. Requires ...
* gfortran.dg/pr77420_4.f90: this file.
From-SVN: r240506
Kugan Vivekanandarajah [Mon, 26 Sep 2016 18:16:23 +0000 (18:16 +0000)]
re PR tree-optimization/77719 (ICE in pp_string, at pretty-print.c:955)
Fix PR77719
gcc/testsuite/ChangeLog:
2016-09-26 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/77719
* gfortran.dg/pr77719.f90: New test.
gcc/ChangeLog:
2016-09-26 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/77719
* tree-ssa-reassoc.c (make_new_ssa_for_def): Use gimple_get_lhs to get lhs
instead of gimple_assign_lhs as stmt can be builtins too.
From-SVN: r240505
Thomas Preud'homme [Mon, 26 Sep 2016 17:20:39 +0000 (17:20 +0000)]
tree.h (memmodel_from_int, [...]): Move to ...
2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
is_mm_consume, is_mm_acquire, is_mm_release, is_mm_acq_rel,
is_mm_seq_cst, is_mm_sync): Move to ...
* memmodel.h: This. New file.
* builtins.c: Include memmodel.h.
* optabs.c: Likewise.
* tsan.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arm/arm.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/sparc/sparc.c: Likewise.
* genconditions.c: Include memmodel.h in generated file.
* genemit.c: Likewise.
* genoutput.c: Likewise.
* genpeep.c: Likewise.
* genpreds.c: Likewise.
* genrecog.c: Likewise.
gcc/c-family/
* c-common.c: Include memmodel.h.
From-SVN: r240504
Thomas Preud'homme [Mon, 26 Sep 2016 16:57:44 +0000 (16:57 +0000)]
builtin-sprintf-warn-1.c: Adjust regex to accept singular form of byte when quantity is unknown.
2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust regex to accept
singular form of byte when quantity is unknown.
From-SVN: r240503
David Malcolm [Mon, 26 Sep 2016 16:39:15 +0000 (16:39 +0000)]
read-rtl.c: split out read_rtx_operand from read_rtx_code
gcc/ChangeLog:
* read-rtl.c (read_rtx_code): Rename local "i" to "idx", and use
"c" instead when parsing characters. Move operand parsing into...
(read_rtx_operand): ...this new function, renaming "i" to "idx",
and tightening the scope of various locals.
From-SVN: r240502
Anton Kolesov [Mon, 26 Sep 2016 16:18:28 +0000 (16:18 +0000)]
configure.ac: Disable "sim" directory for arc*-*-*.
2016-09-26 Anton Kolesov <Anton.Kolesov@synopsys.com>
* configure.ac: Disable "sim" directory for arc*-*-*.
* conifgure: Regenerated.
From-SVN: r240501
Liu Hao [Mon, 26 Sep 2016 15:59:27 +0000 (09:59 -0600)]
cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
2016-09-26 LH Mouse <lh_mouse@126.com>
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
From-SVN: r240500
Marek Polacek [Mon, 26 Sep 2016 15:53:28 +0000 (15:53 +0000)]
c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
* c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
* system.h: Use __has_attribute to check whether the fallthrough
attribute is supported.
* g++.dg/cpp1z/feat-cxx1z.C: Test attribute fallthrough.
From-SVN: r240499
Marek Polacek [Mon, 26 Sep 2016 15:50:13 +0000 (15:50 +0000)]
ipa-inline-analysis.c (find_foldable_builtin_expect): Use gimple_call_internal_p.
* ipa-inline-analysis.c (find_foldable_builtin_expect): Use
gimple_call_internal_p.
* ipa-split.c (find_return_bb): Likewise.
(execute_split_functions): Likewise.
* omp-low.c (dump_oacc_loop_part): Likewise.
(oacc_loop_xform_head_tail): Likewise.
* predict.c (predict_loops): Likewise.
* sanopt.c (pass_sanopt::execute): Likewise.
* tree-cfg.c (get_abnormal_succ_dispatcher): Likewise.
* tree-parloops.c (oacc_entry_exit_ok_1): Likewise.
* tree-stdarg.c (gimple_call_ifn_va_arg_p): Remove function.
(expand_ifn_va_arg_1): Use gimple_call_internal_p.
(expand_ifn_va_arg): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
(optimize_mask_stores): Likewise.
* tree-vect-stmts.c (vect_simd_lane_linear): Likewise.
(vect_transform_stmt): Likewise.
* tree-vectorizer.c (vect_loop_vectorized_call): Likewise.
* tsan.c (instrument_memory_accesses): Likewise.
From-SVN: r240498
David Edelsohn [Mon, 26 Sep 2016 15:37:08 +0000 (11:37 -0400)]
Fix typo in date.
From-SVN: r240497
Kyrylo Tkachov [Mon, 26 Sep 2016 14:52:03 +0000 (14:52 +0000)]
[regrename][sel-sched] Fix bogus use of HARD_FRAME_POINTER_REGNUM (was: Fix arm bootstrap)
* regrename.c (rename_chains): Check
HARD_FRAME_POINTER_IS_FRAME_POINTER rather than
HARD_FRAME_POINTER_REGNUM when picking unavailable registers.
* sel-sched.c (mark_unavailable_hard_regs): Likewise.
Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
From-SVN: r240496
Andreas Krebbel [Mon, 26 Sep 2016 14:17:17 +0000 (14:17 +0000)]
S/390: Add missing fallthrough comments.
gcc/ChangeLog:
2016-09-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_rtx_costs): Add /* fallthrough */.
(s390_sched_score): Likewise.
From-SVN: r240495