platform/upstream/gcc.git
8 years agodwarf2out.c (cu_die_list): New global.
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

8 years agodwarf2out.c (struct die_struct): Add removed flag.
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

8 years ago[ARC] New CPU C-define handler.
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

8 years ago[ARC] Add simple shift/rotate ops.
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

8 years agore PR c++/77748 (pr77550.C fails on arm-none-eabi)
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

8 years agopr68198.c: Fix dg-final.
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

8 years agogimple-pretty-print.c (dump_gimple_call_args): Simplify "' " printing.
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

8 years ago[ARC COMMITTED] MAINTAINERS (Reviewers): Add myself.
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

8 years agoOptimize strchr (s, 0) to s + strlen (s).
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

8 years agolibstdc++/77686 use may_alias for std::function storage
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

8 years agore PR tree-optimization/77724 (bootstrap-O3 broken: ICE: in tree_to_uhwi, at tree...
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

8 years agoFix Liu Hao's name in ChangeLog entry
Jeff Law [Wed, 28 Sep 2016 04:47:13 +0000 (22:47 -0600)]
Fix Liu Hao's name in ChangeLog entry

From-SVN: r240564

8 years agoDaily bump.
GCC Administrator [Wed, 28 Sep 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r240563

8 years agolibgo: separate mksysinfo inputs into separate Makefile targets
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

8 years agocompiler: avoid call duplication during order eval.
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

8 years agocompiler: add src information to AST dumps (part 1 of 2).
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

8 years agoc-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for -std=c++1z.
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

8 years agoImplement P0018R3, C++17 lambda capture of *this by value as [=,*this]
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

8 years agore PR c++/77722 (-fsanitize=undefined doesn't give runtime error in function without...
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

8 years agoauto-inc-dec.c (try_merge): Remove break after return.
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

8 years agointernal-fn.h (IFN_UNIQUE_CODES, [...]): New.
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

8 years ago[Obvious] Delete one redundant word in target-supports.exp comment
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

8 years agoDefine feature macro and update C++17 library status
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

8 years agoDefine 3-argument overloads of std::hypot for C++17 (P0030R1)
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

8 years agoMIPS/GCC/doc: Fix `d' constraint description
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

8 years agoFix pch with Solaris as
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

8 years agoCommit files missed in revision 240541.
Matthew Wahab [Tue, 27 Sep 2016 14:10:43 +0000 (14:10 +0000)]
Commit files missed in revision 240541.

From-SVN: r240542

8 years ago[ARM] Fix invalid instructions generated for data movement.
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

8 years ago* config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify VAR_DECL string.
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

8 years agoc6x.h: Adjust fall through comment.
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

8 years agoia64.c (ia64_print_operand): Adjust fall through comment.
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

8 years ago[ARM] Fix -Wimplicit-fallthrough warnings
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

8 years agore PR gcov-profile/46266 (gcov generates data for non-existing file <built-in>)
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

8 years agoMAINTAINERS (VxWorks ports): Add self.
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

8 years agore PR tree-optimization/77745 (Inconsistent application of aliasing rules)
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

8 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
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

8 years agore PR target/77478 (Incorrect code generated with -O3, m32, -msse2 and -ffast-math)
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

8 years agogcov: dump in a static dtor instead of in an atexit handler
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

8 years agoFix bogus test failure for avr
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

8 years agore PR bootstrap/77751 (cc1plus: error: unrecognized command line option "-Wno-implici...
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

8 years agoRemove __gcov_merge_delta (PR bootstrap/77749)
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

8 years agocombine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
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

8 years agore PR fortran/77666 (ICE in gfc_omp_clause_default_ctor, at fortran/trans-openmp...
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

8 years agore PR rtl-optimization/77714 (Wrong code generation for gcc.c-torture/execute/pr51447.c)
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

8 years agoFix ipa-vrp convert value_range
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

8 years agors6000: Disparage CTR and LR in movcc_internal1
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

8 years agoDaily bump.
GCC Administrator [Tue, 27 Sep 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r240514

8 years agore PR libstdc++/77727 (Unwrapping std::optional constructor is not working for non...
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

8 years ago2016-09-26 François Dumont <fdumont@gcc.gnu.org>
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

8 years agoFix fallthrough comments for Ada, Solaris/x86, SPARC
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

8 years agore PR fortran/77420 (gfortran and equivalence produces internal compiler error)
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

8 years agore PR tree-optimization/77719 (ICE in pp_string, at pretty-print.c:955)
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

8 years agotree.h (memmodel_from_int, [...]): Move to ...
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

8 years agobuiltin-sprintf-warn-1.c: Adjust regex to accept singular form of byte when quantity...
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

8 years agoread-rtl.c: split out read_rtx_operand from read_rtx_code
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

8 years agoconfigure.ac: Disable "sim" directory for arc*-*-*.
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

8 years agocygming.h (ASM_OUTPUT_DWARF_OFFSET): Fix typo.
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

8 years agoc-lex.c (c_common_has_attribute): Handle attribute fallthrough.
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

8 years agoipa-inline-analysis.c (find_foldable_builtin_expect): Use gimple_call_internal_p.
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

8 years agoFix typo in date.
David Edelsohn [Mon, 26 Sep 2016 15:37:08 +0000 (11:37 -0400)]
Fix typo in date.

From-SVN: r240497

8 years ago[regrename][sel-sched] Fix bogus use of HARD_FRAME_POINTER_REGNUM (was: Fix arm boots...
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

8 years agoS/390: Add missing fallthrough comments.
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

8 years agoFix documentation of gcov tool
Martin Liska [Mon, 26 Sep 2016 11:55:48 +0000 (13:55 +0200)]
Fix documentation of gcov tool

* doc/gcov.texi: Update program output of gcov tool.

From-SVN: r240494

8 years agore PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO))
Paul Thomas [Mon, 26 Sep 2016 11:15:23 +0000 (11:15 +0000)]
re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO))

2016-09-26  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48298
* interface.c (gfc_find_specific_dtio_proc) : Return NULL if
the derived type is broken, as indicated by a flavor other than
FL_DERIVED.

From-SVN: r240493

8 years agoRemove HIST_TYPE_CONST_DELTA counter type (PR gcov-profile/23332)
Martin Liska [Mon, 26 Sep 2016 11:04:18 +0000 (13:04 +0200)]
Remove HIST_TYPE_CONST_DELTA counter type (PR gcov-profile/23332)

PR gcov-profile/23332
* profile.c (instrument_values): Do not handle
HIST_TYPE_CONST_DELTA.
* tree-profile.c (gimple_gen_const_delta_profiler):
Remove.
* value-prof.c (dump_histogram_value): Do not handle
HIST_TYPE_CONST_DELTA.
(stream_in_histogram_value): Likewise.
(gimple_find_values_to_profile): Likewise.
* value-prof.h (enum hist_type): Likewise.

From-SVN: r240492

8 years agoFix handling of -fsanitize-recover* options.
Martin Liska [Mon, 26 Sep 2016 10:55:34 +0000 (12:55 +0200)]
Fix handling of -fsanitize-recover* options.

* common.opt: Exclude SANITIZE_UNREACHABLE and SANITIZE_RETURN
from default sanitize recover values.
* doc/invoke.texi: Fix documentation related to -fsanitize=leak,
-fsanitize=address, -fsanitize=thread and -fsanitize-recover.
* flag-types.h: Replace couple of 1 << x to 1UL << x, make it
consistent.
* opts.c (finish_options): Do a generic loop over options
that can be recovered.
(parse_sanitizer_options): Exclude SANITIZE_UNREACHABLE and
SANITIZE_RETURN.
(common_handle_option): Likewise.
* opts.h: Declare can_recover to sanitizer_opts_s.
* c-c++-common/ubsan/sanitize-recover-1.c: New test.
* c-c++-common/ubsan/sanitize-recover-2.c: New test.
* c-c++-common/ubsan/sanitize-recover-3.c: New test.
* c-c++-common/ubsan/sanitize-recover-4.c: New test.
* c-c++-common/ubsan/sanitize-recover-5.c: New test.
* c-c++-common/ubsan/sanitize-recover-6.c: New test.
* c-c++-common/ubsan/sanitize-recover-7.c: New test.
* c-c++-common/ubsan/sanitize-recover-8.c: New test.
* c-c++-common/ubsan/sanitize-recover-9.c: New test.

From-SVN: r240491

8 years agotarget.def (elf_flags_numeric): Change documentation to present tense.
Andre Vieira [Mon, 26 Sep 2016 10:47:06 +0000 (10:47 +0000)]
target.def (elf_flags_numeric): Change documentation to present tense.

2016-09-26  Andre Vieira  <andre.simoesdiasvieira@arm.com>

    * target.def(elf_flags_numeric): Change documentation to
    present tense.
    * doc/tm.texi: Regenerate.

From-SVN: r240490

8 years agoinit.c (expand_default_init): Fix } indentation.
Nathan Sidwell [Mon, 26 Sep 2016 10:29:53 +0000 (10:29 +0000)]
init.c (expand_default_init): Fix } indentation.

* init.c (expand_default_init): Fix } indentation.
* method.c (process_subob_fn): Simplify control structure to
remove gotos.
(implicitly_declare_fn): Remove duplicated lambda ctor check.

From-SVN: r240489

8 years agoRemove redefinition of __cpp_lib_array_constexpr
Jonathan Wakely [Mon, 26 Sep 2016 10:17:53 +0000 (11:17 +0100)]
Remove redefinition of __cpp_lib_array_constexpr

* include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
redefine macro defined in <bits/stl_iterator.h>.

From-SVN: r240488

8 years agoAdd assertions to extract(const_iterator) functions
Jonathan Wakely [Mon, 26 Sep 2016 10:17:48 +0000 (11:17 +0100)]
Add assertions to extract(const_iterator) functions

* include/bits/stl_map.h (map::extract(const_iterator)): Assert that
iterator is not past-the-end.
* include/bits/stl_multimap.h (multimap::extract(const_iterator)):
Likewise.
* include/bits/stl_multiset.h (multiset::extract(const_iterator)):
Likewise.
* include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
* include/bits/unordered_map.h (unordered_map::extract(const_iterator))
(unordered_multimap::extract(const_iterator)): Likewise.
* include/bits/unordered_set.h (unordered_set::extract(const_iterator))
(unordered_multiset::extract(const_iterator)): Likewise.

From-SVN: r240487

8 years agore PR libstdc++/77717 (testsuite/21_strings/basic_string_view/operations/compare...
Ville Voutilainen [Mon, 26 Sep 2016 09:46:19 +0000 (12:46 +0300)]
re PR libstdc++/77717 (testsuite/21_strings/basic_string_view/operations/compare/char/1.cc makes undefined memcmp call)

PR libstdc++/77717
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
Fix an out-of-bounds access.

From-SVN: r240486

8 years agoImplement -Wimplicit-fallthrough.
Marek Polacek [Mon, 26 Sep 2016 09:42:50 +0000 (09:42 +0000)]
Implement -Wimplicit-fallthrough.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r240485

8 years agodwarf2out.c (stripattributes): Remove unused function.
Richard Biener [Mon, 26 Sep 2016 08:31:37 +0000 (08:31 +0000)]
dwarf2out.c (stripattributes): Remove unused function.

2016-09-26  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (stripattributes): Remove unused function.
(DEBUG_NORM_MACINFO_SECTION): Rename to DEBUG_MACINFO_SECTION.
Push dwarf_split_debug_info handling into init_sections_and_labels.
(DEBUG_NORM_MACRO_SECTION): Likewise to DEBUG_MACRO_SECTION.
(DEBUG_MACRO_SECTION_FLAGS): Remove.
(debug_macinfo_section_name): New global.
(output_macinfo): Use debug_macinfo_section_name.
(init_sections_and_labels): Split out section and label generation
from dwarf2out_init.  Set debug_macinfo_section_name.
(dwarf2out_init): Move text section label generation and emission
to ...
(dwarf2out_assembly_start): ... here.
(dwarf2out_finish): Call init_sections_and_labels before DWARF
output starts.

From-SVN: r240484

8 years agore PR debug/77692 (gcc.dg/debug/dwarf2/const-2b.c FAILs)
Richard Biener [Mon, 26 Sep 2016 07:33:33 +0000 (07:33 +0000)]
re PR debug/77692 (gcc.dg/debug/dwarf2/const-2b.c FAILs)

2016-09-26  Richard Biener  <rguenther@suse.de>

PR debug/77692
* cgraphunit.c (analyze_functions): Before early removing
global vars calls the late_global_decl debug handler mark
the variable as readonly.

From-SVN: r240483

8 years agoDaily bump.
GCC Administrator [Mon, 26 Sep 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r240482

8 years agodebug.cc: Include debug/vector.
François Dumont [Sun, 25 Sep 2016 20:26:02 +0000 (20:26 +0000)]
debug.cc: Include debug/vector.

2016-09-25  François Dumont  <fdumont@gcc.gnu.org>

* src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
functional.
(get_safe_base_mutex): Get mutex based on address lowest non nil bits.
* testsuite/23_containers/vector/debug/mutex_association.cc: New.

From-SVN: r240479

8 years agobitset (bitset::reference::reference(const _Base_ref&, bitset*)): Remove __unused__...
François Dumont [Sun, 25 Sep 2016 20:15:21 +0000 (20:15 +0000)]
bitset (bitset::reference::reference(const _Base_ref&, bitset*)): Remove __unused__ attribute.

2016-09-25  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/bitset (bitset::reference::reference(const _Base_ref&,
bitset*)): Remove __unused__ attribute.
* include/debug/safe_base.h (_Safe_iterator_base): Make
_Safe_sequence_base a friend.
(_Safe_iterator_base::_M_attach): Make protected.
(_Safe_iterator_base::_M_attach_single): Likewise.
(_Safe_iterator_base::_M_detach): Likewise.
(_Safe_iterator_base::_M_detach_single): Likewise.
(_Safe_sequence_base): Make _Safe_iterator_base a friend.
(_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
(_Safe_sequence_base::_M_swap): Make protected.
(_Safe_sequence_base::_M_attach): Make private.
(_Safe_sequence_base::_M_attach_single): Likewise.
(_Safe_sequence_base::_M_detach): Likewise.
(_Safe_sequence_base::_M_detach_single): Likewise.
* include/debug/safe_container.h
(_Safe_container::_Safe_container(_Safe_container&&)): Make default.
* include/debug/safe_iterator.h
(_Safe_iterator::operator++()): Name __scoped_lock instance.
* include/debug/safe_iterator.tcc: Remove trailing line.
* include/debug/safe_unordered_base.h
(_Safe_local_iterator_base::_M_attach): Make protected.
(_Safe_local_iterator_base::_M_attach_single): Likewise.
(_Safe_local_iterator_base::_M_detach): Likewise.
(_Safe_local_iterator_base::_M_detach_single): Likewise.
(_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
(_Safe_unordered_container_base::_M_attach_local): Make private.
(_Safe_unordered_container_base::_M_attach_local_single): Likewise.
(_Safe_unordered_container_base::_M_detach_local): Likewise.
(_Safe_unordered_container_base::_M_detach_local_single): Likewise.

From-SVN: r240478

8 years agore PR fortran/77429 (ICE in gfc_check_dependency, at fortran/dependency.c:1261)
Steven G. Kargl [Sun, 25 Sep 2016 18:46:28 +0000 (18:46 +0000)]
re PR fortran/77429 (ICE in gfc_check_dependency, at fortran/dependency.c:1261)

2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77429
* dependency.c (gfc_check_dependency):  Convert gcc_assert() to
a conditional and possible call to  gfc_internal_error().

2016-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77429
* gfortran.dg/pr77429.f90: New test.

From-SVN: r240477

8 years agore PR fortran/77694 (ICE in optimize_binop_array_assignment, at fortran/frontend...
Steven G. Kargl [Sun, 25 Sep 2016 17:30:27 +0000 (17:30 +0000)]
re PR fortran/77694 (ICE in optimize_binop_array_assignment, at fortran/frontend-passes.c:1080)

2016-09-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77694
* frontend-passes.c (optimize_binop_array_assignment): Check pointer
for NULL.

2016-09-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77694
* gfortran.dg/pr77694.f90: New test.

From-SVN: r240476

8 years ago* gcc.target/i386/pr77621.c (dg-options): Add -mno-avx.
Uros Bizjak [Sun, 25 Sep 2016 15:29:06 +0000 (17:29 +0200)]
* gcc.target/i386/pr77621.c (dg-options): Add -mno-avx.

From-SVN: r240474

8 years agoalgo.h: Generalize usage of std::__iterator_category.
François Dumont [Sun, 25 Sep 2016 15:23:45 +0000 (15:23 +0000)]
algo.h: Generalize usage of std::__iterator_category.

2016-09-25  François Dumont  <fdumont@gcc.gnu.org>

* include/parallel/algo.h: Generalize usage of std::__iterator_category.
Adjust whitespaces.

From-SVN: r240473

8 years agoThis fixes a fallout that actually goes back to 5.0 but went unnoticed.
Oleg Endo [Sun, 25 Sep 2016 06:59:37 +0000 (06:59 +0000)]
This fixes a fallout that actually goes back to 5.0 but went unnoticed.

The costs for movt and movrt type of insns were not correctly reported
and ifcvt thus made some bad choices for SH.  A new cset_zero pattern
variant is also required to fix the matching for some recent changes
in the middle end.

gcc/
PR target/51244
* config/sh/sh.c (sh_movt_set_dest, sh_movrt_set_dest): Add overloads.
(sh_rtx_costs): Handle SET of movt and movrt patterns.
* cnofig/sh/sh-protos.h (sh_movt_set_dest, sh_movrt_set_dest): Forward
declare new overloads.
* config/sh/sh.md (*cset_zero): Add variant that takes a treg_set_expr
operand.

gcc/testsuite/
PR target/51244
* gcc.target/sh/pr51244-11.c: Add more detailed expected insn matching.

From-SVN: r240471

8 years agoDaily bump.
GCC Administrator [Sun, 25 Sep 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r240470

8 years agocoarray_lib_comm_1.f90: Really fix test for 32-bit mode.
Dominique d'Humieres [Sat, 24 Sep 2016 18:32:48 +0000 (20:32 +0200)]
coarray_lib_comm_1.f90: Really fix test for 32-bit mode.

2016-09-24  Dominique d'Humieres  <dominiq@lps.ens.fr>

* gfortran.dg/coarray_lib_comm_1.f90: Really fix test
for 32-bit mode.

From-SVN: r240467

8 years agors6000.c (expand_block_compare, [...]): Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.
Aaron Sawdey [Sat, 24 Sep 2016 18:14:21 +0000 (18:14 +0000)]
rs6000.c (expand_block_compare, [...]): Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.

2016-09-24  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (expand_block_compare, do_load_for_compare):
Change TARGET_LITTLE_ENDIAN to !BYTES_BIG_ENDIAN.

From-SVN: r240466

8 years agoconfigure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
David Edelsohn [Sat, 24 Sep 2016 16:59:18 +0000 (12:59 -0400)]
configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.

        * configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
        * configure: Regenerate.

From-SVN: r240465

8 years agoAdd missing changelong entry for 240455
Aaron Sawdey [Sat, 24 Sep 2016 16:23:16 +0000 (11:23 -0500)]
Add missing changelong entry for 240455

From-SVN: r240464

8 years agocoarray_lib_comm_1.f90: Fix test for 32-bit mode.
Dominique d'Humieres [Sat, 24 Sep 2016 15:12:55 +0000 (17:12 +0200)]
coarray_lib_comm_1.f90: Fix test for 32-bit mode.

2016-09-24  Dominique d'Humieres  <dominiq@lps.ens.fr>

* gfortran.dg/coarray_lib_comm_1.f90: Fix test
for 32-bit mode.

From-SVN: r240463

8 years agore PR c/77490 (bit-not (~) on boolean should be warned about)
Marek Polacek [Sat, 24 Sep 2016 09:39:23 +0000 (09:39 +0000)]
re PR c/77490 (bit-not (~) on boolean should be warned about)

PR c/77490
* c.opt (Wbool-operation): New.

* c-typeck.c (build_unary_op): Warn about bit not on expressions that
have boolean value.  Warn about ++/-- on booleans.

* typeck.c (cp_build_unary_op): Warn about bit not on expressions that
have boolean value.

* doc/invoke.texi: Document -Wbool-operation.

* c-c++-common/Wbool-operation-1.c: New test.
* gcc.dg/Wbool-operation-1.c: New test.

From-SVN: r240462

8 years agoDaily bump.
GCC Administrator [Sat, 24 Sep 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r240461

8 years agolang.opt, [...]: New flag -fdec-static.
Fritz Reese [Fri, 23 Sep 2016 21:06:18 +0000 (21:06 +0000)]
lang.opt, [...]: New flag -fdec-static.

2016-09-23  Fritz Reese  <fritzoreese@gmail.com>

gcc/fortran/
* lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
* options.c (set_dec_flags): Set -fdec-static with -fdec.
* gfortran.h (symbol_attribute): New attribute automatic.
* gfortran.h (gfc_add_automatic): New prototype.
* match.h (gfc_match_automatic, gfc_match_static): New functions.
* decl.c (gfc_match_automatic, gfc_match_static): Ditto.
* symbol.c (gfc_add_automatic): Ditto.
* decl.c (match_attr_spec): Match AUTOMATIC and STATIC decls.
* parse.c (decode_specification_statement, decode_statement): Ditto.
* resolve.c (apply_default_init_local, resolve_fl_variable_derived,
resolve_symbol): Support for automatic attribute.
* symbol.c (check_conflict, gfc_copy_attr, gfc_is_var_automatic):
Ditto.
* trans-decl.c (gfc_finish_var_decl): Ditto.

gcc/testsuite/gfortran.dg/
* dec_static_1.f90, dec_static_2.f90, dec_static_3.f90,
dec_static_4.f90: New testcases.

From-SVN: r240458

8 years agointernal/syscall/unix: add getrandom syscall for MIPS and SPARC
Ian Lance Taylor [Fri, 23 Sep 2016 21:00:43 +0000 (21:00 +0000)]
internal/syscall/unix: add getrandom syscall for MIPS and SPARC

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

From-SVN: r240457

8 years agore PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO))
Jerry DeLisle [Fri, 23 Sep 2016 20:36:21 +0000 (20:36 +0000)]
re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO))

2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48298
* io/inquire.c (inquire_via_unit): Adjust error check for the
two possible internal unit KINDs.
* io/io.h: Adjust defines for is_internal_unit and
is_char4_unit. (gfc_unit): Add internal unit data to structure.
(get_internal_unit): Change declaration to set_internal_unit.
(free_internal_unit): Change name to stash_internal_unit_number.
(get_unique_unit_number): Adjust parameter argument.
Define IOPARM_DT_HAS_UDTIO. (gfc_saved_unit): New structure.
* io/list_read.c (next_char_internal): Use is_char4_unit.
* io/open.c (st_open): Adjust call to get_unique_unit_number.
* io/transfer.c (write_block): Use is_char4_unit.
(data_transfer_init): Update check for unit numbers.
(st_read_done): Free the various allocated memories used for the
internal units and stash the negative unit number and pointer to unit
structure to allow reuse. (st_write_done): Likewise stash the freed
unit.
* io/unit.c: Create a fixed size buffer of 16 gfc_saved_unit's to use
as a stack to save newunit unit numbers and unit structure for reuse.
(get_external_unit): Change name to get_gfc_unit to better
reflect what it does. (find_unit): Change call to get_gfc_unit.
(find_or_create_unit): Likewise. (get_internal_unit): Change
name to set_internal_unit. Move internal unit from the dtp
structure to the gfc_unit structure so that it can be passed to
child I/O statements through the UNIT.
(free_internal_unit): Change name to stash_internal_unit_number.
Push the common.unit number onto the newunit stack, saving it
for possible reuse later. (get_unit): Set the internal unit
KIND. Use get_unique_unit_number to get a negative unit number
for the internal unit. Use get_gfc_unit to get the unit structure
and use set_internal_unit to initialize it.
(init_units): Initialize the newunit stack.
(get_unique_unit_number): Check the stack for an available unit
number and use it. If none there get the next most negative
number. (close_units): Free any unit structures pointed to from the save
stack.

2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/48298
* gfortran.h (gfc_dt): Add *udtio.
* ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit
25. Add IOPARM_dt_dtio bit to common flags.
* resolve.c (resolve_transfer): Set dt->udtio to expression.
* io.c (gfc_match_inquire): Adjust error message for internal
unit KIND.
* libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4,
GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT.
* trans-io.c (build_dt): Set common_unit to reflect the KIND of
the internal unit. Set mask bit for presence of dt->udtio.

2016-09-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/48298
* gfortran.dg/negative_unit_check.f90: Update test.
* gfortran.dg/dtio_14.f90: New test.

From-SVN: r240456

8 years agors6000.md (cmpmemsi): New define_expand.
Aaron Sawdey [Fri, 23 Sep 2016 20:34:26 +0000 (15:34 -0500)]
rs6000.md (cmpmemsi): New define_expand.

* config/rs6000/rs6000.md (cmpmemsi): New define_expand.
* config/rs6000/rs6000.c (expand_block_compare): New function used by
cmpmemsi pattern to do builtin expansion of memcmp ().
(compute_current_alignment): Add helper function for
expand_block_compare used to compute alignment as the compare proceeds.
(select_block_compare_mode): Used by expand_block_compare to select
the mode used for reading the next chunk of bytes in the compare.
(do_load_for_compare): Used by expand_block_compare to emit the load
insns for the compare.
(rs6000_emit_dot_insn): Moved this function to avoid a forward
reference from expand_block_compare ().
* config/rs6000/rs6000-protos.h (expand_block_compare): Add a
prototype for this function.
* config/rs6000/rs6000.opt (mblock-compare-inline-limit): Add a new
target option for controlling how much code inline expansion of
memcmp() will be allowed to generate.

From-SVN: r240455

8 years agoS/390: Fix hotpatch test cases.
Dominik Vogt [Fri, 23 Sep 2016 19:37:06 +0000 (19:37 +0000)]
S/390: Fix hotpatch test cases.

The attached patch fixes some dg-error tests that were broken since
the recent change of the error location.

gcc/testsuite/ChangeLog:

* gcc.target/s390/hotpatch-compile-1.c: Fixed dg-error test.
* gcc.target/s390/hotpatch-compile-2.c: Likewise.
* gcc.target/s390/hotpatch-compile-3.c: Likewise.
* gcc.target/s390/hotpatch-compile-4.c: Likewise.
* gcc.target/s390/hotpatch-compile-5.c: Likewise.
* gcc.target/s390/hotpatch-compile-6.c: Likewise.
* gcc.target/s390/hotpatch-compile-14.c: Likewise.

From-SVN: r240454

8 years agocompiler: better abstraction layer for diagnostics.
Than McIntosh [Fri, 23 Sep 2016 19:36:45 +0000 (19:36 +0000)]
compiler: better abstraction layer for diagnostics.

    Introduce an abstraction layer for reporting diagnostics, so as to avoid
    directly using the native GCC interfaces such as "error_at",
    "warning_at", "open_quote", "close_quote", etc.  The new interfaces have
    the same look and feel as the GCC equivalents, but make calls into
    back-end functions to allow the back end to select the proper final
    reporting routine.

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

* go-gcc-diagnostics.cc: New file.
* go-location.h (Location): Remove operator source_location.  Add
operator==.
* go-system.h: #include <sstream>.
* Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
go/go-gcc-diagnostics.o.
(CFLAGS-go/go-gcc-diagnostics.o): New variable.

From-SVN: r240453

8 years agohooks.c (hook_bool_bool_false, [...]): For arguments with ATTRIBUTE_UNUSED...
Jakub Jelinek [Fri, 23 Sep 2016 18:08:43 +0000 (20:08 +0200)]
hooks.c (hook_bool_bool_false, [...]): For arguments with ATTRIBUTE_UNUSED...

* hooks.c (hook_bool_bool_false, hook_bool_bool_gcc_optionsp_false,
hook_bool_mode_false, hook_bool_mode_true,
hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
hook_bool_const_rtx_insn_const_rtx_insn_true,
hook_bool_mode_uhwi_false, hook_void_FILEptr_constcharptr,
hook_bool_FILEptr_rtx_false, hook_bool_gsiptr_false,
hook_bool_const_tree_hwi_hwi_const_tree_false,
hook_bool_const_tree_hwi_hwi_const_tree_true,
default_can_output_mi_thunk_no_vcall, hook_int_uint_mode_1,
hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
hook_int_rtx_0, hook_int_rtx_bool_0, hook_void_tree,
hook_void_constcharptr, hook_void_tree_treeptr, hook_void_int_int,
hook_bool_tree_false, hook_bool_const_tree_false, hook_bool_tree_true,
hook_bool_const_tree_true, hook_bool_tree_tree_false,
hook_bool_tree_tree_true, hook_bool_tree_bool_false,
hook_bool_rtx_insn_true, hook_bool_rtx_false,
hook_bool_uintp_uintp_false,
hook_bool_rtx_mode_int_int_intp_bool_false, hook_rtx_rtx_null,
hook_rtx_tree_int_null, hook_uint_mode_0,
hook_constcharptr_const_tree_null, hook_tree_tree_int_treep_bool_null,
hook_tree_tree_tree_null, hook_tree_tree_tree_tree_null,
hook_constcharptr_const_rtx_insn_null,
hook_constcharptr_const_tree_const_tree_null,
hook_constcharptr_int_const_tree_null,
hook_constcharptr_int_const_tree_const_tree_null,
hook_tree_const_tree_null, hook_bool_rtx_insn_int_false,
hook_void_rtx_insn_int, hook_void_gcc_optionsp): For arguments with
ATTRIBUTE_UNUSED, remove parameter name as well as ATTRIBUTE_UNUSED.

From-SVN: r240452

8 years agore PR go/77701 (suspicious code in go/go-gcc.cc)
Chris Manghane [Fri, 23 Sep 2016 17:55:53 +0000 (17:55 +0000)]
re PR go/77701 (suspicious code in go/go-gcc.cc)

PR go/77701
* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
to pass arguments in the correct order.

From-SVN: r240451

8 years agore PR testsuite/77713 (gcc.dg/tree-ssa/builtin-sprintf.c compilation failed to produc...
Martin Sebor [Fri, 23 Sep 2016 17:55:29 +0000 (17:55 +0000)]
re PR testsuite/77713 (gcc.dg/tree-ssa/builtin-sprintf.c compilation failed to produce executable)

gcc/testsuite/ChangeLog:

PR testsuite/77713
* gcc.dg/tree-ssa/builtin-sprintf.c (test_e_long_double): Avoid
assuming long double is bigger than double.

From-SVN: r240450

8 years agoImplement P0138R2, C++17 construction rules for enum class values
Jakub Jelinek [Fri, 23 Sep 2016 17:38:29 +0000 (19:38 +0200)]
Implement P0138R2, C++17 construction rules for enum class values

Implement P0138R2, C++17 construction rules for enum class values
* cp-tree.h (is_direct_enum_init): Declare.
* decl.c (is_direct_enum_init): New function.
(reshape_init): Use it.
* typeck.c (convert_for_assignment): Likewise.

* g++.dg/cpp1z/direct-enum-init1.C: New test.

From-SVN: r240449