1. 17 Nov, 2016 23 commits
    • Fix locations within raw strings · b8f56412
      Whilst investigating PR preprocessor/78324 I noticed that the
      substring location code currently doesn't handle raw strings
      correctly, by not skipping the 'R', opening quote, delimiter
      and opening parenthesis.
      
      For example, an attempt to underline chars 4-7 with caret at 6 of
      this raw string yields this erroneous output:
         __emit_string_literal_range (R"foo(0123456789)foo",
                                          ~~^~
      
      With the patch, the correct range/caret is printed:
      
         __emit_string_literal_range (R"foo(0123456789)foo",
                                                ~~^~
      
      gcc/ChangeLog:
      	* input.c (selftest::test_lexer_string_locations_long_line): New
      	function.
      	(selftest::test_lexer_string_locations_raw_string_multiline): New
      	function.
      	(selftest::input_c_tests): Call the new functions, via
      	for_each_line_table_case.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
      	(test_raw_string_one_liner): New function.
      	(test_raw_string_multiline): New function.
      
      libcpp/ChangeLog:
      	* charset.c (cpp_interpret_string_1): Skip locations from
      	loc_reader when advancing 'p' when handling raw strings.
      
      From-SVN: r242552
      David Malcolm committed
    • [AArch64] Expand DImode constant stores to two SImode stores when profitable · 141a3ccf
      	* config/aarch64/aarch64.md (mov<mode>): Call
      	aarch64_split_dimode_const_store on DImode constant stores.
      	* config/aarch64/aarch64-protos.h (aarch64_split_dimode_const_store):
      	New prototype.
      	* config/aarch64/aarch64.c (aarch64_split_dimode_const_store): New
      	function.
      
      	* gcc.target/aarch64/store_repeating_constant_1.c: New test.
      	* gcc.target/aarch64/store_repeating_constant_2.c: Likewise.
      
      From-SVN: r242551
      Kyrylo Tkachov committed
    • re PR tree-optimization/77848 (Gimple if-conversion results in redundant comparisons) · 54e63f00
      [gcc]
      
      2016-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
                  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77848
      	* tree-if-conv.c (tree_if_conversion): Always version loops unless
      	the user specified -ftree-loop-if-convert.
      
      [gcc/testsuite]
      
      2016-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
                  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77848
      	* gfortran.dg/vect/pr77848.f: New test.
      
      
      Co-Authored-By: Richard Biener <rguenther@suse.de>
      
      From-SVN: r242550
      Bill Schmidt committed
    • re PR target/77308 (surprisingly large stack usage for sha512 on arm) · 2fe37211
      2016-11-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR target/77308
              * config/arm/arm.md (*thumb2_ldrd, *thumb2_ldrd_base,
              *thumb2_ldrd_base_neg, *thumb2_strd, *thumb2_strd_base,
              *thumb2_strd_base_neg): Recognize insn regardless of
              current_tune->prefer_ldrd_strd.
              * config/arm/ldrdstrd.md: Enable all ldrd/strd peephole rules
              whenever possible.
      
      testsuite:
      2016-11-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR target/77308
              * gcc.target/arm/pr53447-5.c: New test.
              * lib/target-supports.exp
              (check_effective_target_arm_prefer_ldrd_strd): Adjust.
      
      From-SVN: r242549
      Bernd Edlinger committed
    • [ARC] Fix compilation issue in pr71872. · 6c28e6ae
      gcc/
      2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_ccfsm_post_advance): Handle return
      	instruction type.
      
      From-SVN: r242548
      Claudiu Zissulescu committed
    • [ARC][libgcc] Add support for QuarkSE processor. · 48c842ab
      libgcc/
      2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/dp-hack.h (ARC_OPTFPE): Define.
      	(__ARC_NORM__): Use instead ARC_OPTFPE.
      	* config/arc/fp-hack.h: Likewise.
      	* config/arc/lib1funcs.S (ARC_OPTFPE): Define.
      	(__ARC_MPY__): Use it insetead of __ARC700__ and __HS__.
      
      From-SVN: r242547
      Claudiu Zissulescu committed
    • [ARC] Add support for QuarkSE processor. · c4014855
      gcc/
      2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-arches.def: Add FPX quarkse instruction as valid
      	for arcem.
      	* config/arc/arc-c.def (__ARC_FPX_QUARK__): Define.
      	* config/arc/arc-cpus.def (quarkse_em): Add.
      	* config/arc/arc-options.def (FL_FPX_QUARK, FL_QUARK): Likewise.
      	* config/arc/arc-opts.h (FPX_QK): Define.
      	* config/arc/arc-tables.opt: Regenerate.
      	* config/arc/arc.c (gen_compare_reg): Change.
      	(arc_register_move_cost): Avoid Dy,Dx moves.
      	* config/arc/arc.h (TARGET_HARD_FLOAT): Change.
      	(TARGET_FPX_QUARK, TARGET_FP_ASSIST): Define.
      	* config/arc/arc.md (divsf3, sqrtsf2, fix_truncsfsi2, floatsisf2):
      	New expands.
      	* config/arc/fpu.md (divsf3_fpu, sqrtsf2_fpu, floatsisf2_fpu)
      	(fix_truncsfsi2_fpu): Rename.
      	* config/arc/fpx.md (cmp_quark, cmpsf_quark_, cmpsf_quark_ord)
      	(cmpsf_quark_uneq, cmpsf_quark_eq, divsf3_quark, sqrtsf2_quark)
      	(fix_truncsfsi2_quark, floatsisf2_quark): New patterns.
      	* config/arc/t-multilib: Regenerate.
      
      From-SVN: r242546
      Claudiu Zissulescu committed
    • [ARC] Update target specific tests. · c867c39d
      gcc/testsuite
      2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/abitest.S: New file.
      	* gcc.target/arc/abitest.h: Likewise.
      	* gcc.target/arc/va_args-1.c: Likewise.
      	* gcc.target/arc/va_args-2.c: Likewise.
      	* gcc.target/arc/va_args-3.c: Likewise.
      	* gcc.target/arc/mcrc.c: Deleted.
      	* gcc.target/arc/mdsp-packa.c: Likewise.
      	* gcc.target/arc/mdvbf.c: Likewise.
      	* gcc.target/arc/mmac-24.c: Likewise.
      	* gcc.target/arc/mmac-d16.c: Likewise.
      	* gcc.target/arc/mno-crc.c: Likewise.
      	* gcc.target/arc/mno-dsp-packa.c: Likewise.
      	* gcc.target/arc/mno-dvbf.c: Likewise.
      	* gcc.target/arc/mno-mac-24.c: Likewise.
      	* gcc.target/arc/mno-mac-d16.c: Likewise.
      	* gcc.target/arc/mno-rtsc.c: Likewise.
      	* gcc.target/arc/mno-xy.c: Likewise.
      	* gcc.target/arc/mrtsc.c: Likewise.
      	* gcc.target/arc/arc.exp (check_effective_target_arcem):
      	New function.
      	(check_effective_target_arc700): Likewise.
      	(check_effective_target_arc6xx): Likewise.
      	(check_effective_target_arcmpy): Likewise.
      	(check_effective_target_archs): Likewise.
      	(check_effective_target_clmcpu): Likewise.
      	(check_effective_target_barrelshifter): Likewise.
      	* gcc.target/arc/barrel-shifter-1.c: Changed.
      	* gcc.target/arc/builtin_simd.c: Test only for ARC700
      	cpus.
      	* gcc.target/arc/cmem-1.c: Changed.
      	* gcc.target/arc/cmem-2.c: Likewise.
      	* gcc.target/arc/cmem-3.c: Likewise.
      	* gcc.target/arc/cmem-4.c: Likewise.
      	* gcc.target/arc/cmem-5.c: Likewise.
      	* gcc.target/arc/cmem-6.c: Likewise.
      	* gcc.target/arc/cmem-7.c: Likewise.
      	* gcc.target/arc/interrupt-1.c: Test for RTIE as well.
      	* gcc.target/arc/interrupt-2.c: Skip it for ARCv2 cores.
      	* gcc.target/arc/interrupt-3.c: Match also ARCv2
      	warnings.
      	* gcc.target/arc/jump-around-jump.c: Update options.
      	* gcc.target/arc/mARC601.c: Changed.
      	* gcc.target/arc/mcpu-arc600.c: Changed.
      	* gcc.target/arc/mcpu-arc601.c: Changed.
      	* gcc.target/arc/mcpu-arc700.c: Changed.
      	* gcc.target/arc/mdpfp.c: Skip for ARCv2 cores.
      	* gcc.target/arc/movb-1.c: Changed.
      	* gcc.target/arc/movb-2.c: Likewise.
      	* gcc.target/arc/movb-3.c: Likewise.
      	* gcc.target/arc/movb-4.c: Likewise.
      	* gcc.target/arc/movb-5.c: Likewise.
      	* gcc.target/arc/movb_cl-1.c: Likewise.
      	* gcc.target/arc/movb_cl-2.c: Likewise.
      	* gcc.target/arc/movbi_cl-1.c: Likewise.
      	* gcc.target/arc/movh_cl-1.c: Likewise.
      	* gcc.target/arc/mspfp.c: Skip for ARC HS cores.
      	* gcc.target/arc/mul64.c: Enable it only for ARC600.
      	* gcc.target/arc/mulsi3_highpart-1.c: Scan for ARCv2
      	instructions.
      	* gcc.target/arc/mulsi3_highpart-2.c: Skip it for ARCv1
      	cores.
      	* gcc.target/arc/no-dpfp-lrsr.c: Skip it for ARC HS.
      	* gcc.target/arc/trsub.c: Only for ARC EM cores.
      	* gcc.target/arc/builtin_simdarc.c: Changed.
      	* gcc.target/arc/extzv-1.c: Likewise.
      	* gcc.target/arc/insv-1.c: Likewise.
      	* gcc.target/arc/insv-2.c: Likewise.
      	* gcc.target/arc/mA6.c: Likewise.
      	* gcc.target/arc/mA7.c: Likewise.
      	* gcc.target/arc/mARC600.c: Likewise.
      	* gcc.target/arc/mARC700.c: Likewise.
      	* gcc.target/arc/mcpu-arc600.c: Likewise.
      	* gcc.target/arc/mcpu-arc700.c: Likewise.
      	* gcc.target/arc/movl-1.c: Likewise.
      	* gcc.target/arc/nps400-1.c: Likewise.
      	* gcc.target/arc/trsub.c: Likewise.
      	* gcc.target/arc/barrel-shifter-2.c: Check for barrel
      	shifter configuration.
      	* gcc.target/arc/mlock.c: Skip for arc6xx
      	configurations.
      	* gcc.target/arc/mswape.c: Likewise.
      
      From-SVN: r242545
      Claudiu Zissulescu committed
    • avr.c (avr_print_operand_address): Use CONST_INT_P if appropriate. · 7b1e0deb
      	* config/avr/avr.c (avr_print_operand_address): Use CONST_INT_P if
      	appropriate.
      	(ashlqi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out): Same.
      	(ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Same.
      	(avr_rtx_costs_1, extra_constraint_Q): Same.
      	(avr_address_cost): Use SUBREG_P if possible.
      
      From-SVN: r242544
      Georg-Johann Lay committed
    • re PR c++/78383 (label as values ICE with C++ lambda) · b05c3fd6
      2016-11-17  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/78383
      	* tree-cfgcleanup.c (cleanup_control_flow_bb): Do not turn
      	non-local goto into CFG.
      
      From-SVN: r242543
      Richard Biener committed
    • common.opt (ftree-loop-if-convert-stores): Mark as preserved for backward compatibility. · bef69eb5
      2016-11-17  Richard Biener  <rguenther@suse.de>
      
      	* common.opt (ftree-loop-if-convert-stores): Mark as preserved for
      	backward compatibility.
      	* doc/invoke.texi (ftree-loop-if-convert-stores): Remove.
      	* tree-if-conv.c (pass_if_conversion::gate): Do not test
      	flag_tree_loop_if_convert_stores.
      	(pass_if_conversion::execute): Likewise.
      
      From-SVN: r242542
      Richard Biener committed
    • re PR c++/68180 ([ICE] at cp/constexpr.c:2768 in initializing __vector in a loop) · c90928c8
      2016-11-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/68180
      	* g++.dg/cpp1y/pr68180.C: New.
      
      From-SVN: r242541
      Paolo Carlini committed
    • re PR tree-optimization/78319 (PASS->FAIL: gcc.dg/uninit-pred-8_a.c bogus… · 6c99dcb5
      re PR tree-optimization/78319 (PASS->FAIL: gcc.dg/uninit-pred-8_a.c bogus warning (test for bogus messages, line 20))
      
      2016-11-17  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR tree-optimization/78319
      
      testsuite/
      	* gcc.dg/uninit-pred-8_a.c (foo): Mark dg-bogus test to xfail on
      	arm-none-eabi.
      
      From-SVN: r242540
      Prathamesh Kulkarni committed
    • [AArch64] Fix gcc.dg/torture/float32-builtin.c with RTL checking · 12faad02
          * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): Check for
          const_double code before calling aarch64_float_const_zero_rtx_p.
      
      From-SVN: r242539
      Kyrylo Tkachov committed
    • re PR middle-end/78306 ([CilkPlus] "inlining failed in call to always_inline… · 8ce3fee5
      re PR middle-end/78306 ([CilkPlus] "inlining failed in call to always_inline ‘memset’: function not inlinable" with -fcilkplus)
      
      2016-11-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78306
      	* ipa-inline-analysis.c (initialize_inline_failed): Do not
      	inhibit inlining if function calls cilk_spawn.
      	(can_inline_edge_p): Likewise.
      
      	* gcc.dg/cilk-plus/pr78306.c: New testcase.
      
      From-SVN: r242537
      Richard Biener committed
    • re PR tree-optimization/78305 (Wrong constant folding) · f8294131
      2016-11-17  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/78305
      	* fold-const.c (negate_expr_p): Fix multiplication case.
      
      	* gcc.dg/torture/pr78305.c: New testcase.
      
      From-SVN: r242536
      Richard Biener committed
    • re PR fortran/66227 ([OOP] EXTENDS_TYPE_OF n returns wrong result for… · 04f1c830
      re PR fortran/66227 ([OOP] EXTENDS_TYPE_OF n returns wrong result for polymorphic variable allocated to extended type)
      
      2016-11-17  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/66227
      	* simplify.c (gfc_simplify_extends_type_of): Fix missed optimization.
      	Prevent over-simplification. Fix a comment. Add a comment.
      
      2016-11-17  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/66227
      	* gfortran.dg/extends_type_of_3.f90: Fix and extend the test case.
      
      From-SVN: r242535
      Janus Weil committed
    • re PR target/78357 (nios2 uses non-standard atomic functions) · 9bd99cce
      2016-11-17  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	PR target/78357
      	* config/nios2/nios2.c (nios2_init_libfuncs): Remove TARGET_LINUX_ABI
      	condition.
      	(TARGET_INIT_LIBFUNCS): Delete definition and...
      	* config/nios2/linux.h (TARGET_INIT_LIBFUNCS): ...move to here, add
      	comments.
      
      From-SVN: r242534
      Chung-Lin Tang committed
    • netbsd-stdint.h: New. · 82e435c3
      2016-11-17  Krister Walfridsson  <krister.walfridsson@gmail.com>
      
      	* config/netbsd-stdint.h: New.
      	* config.gcc (i[34567]86-*-netbsd): Add netbsd-stdint.h to tm_file.
      	(x86_64-*-netbsd*): Likewise.
      
      From-SVN: r242533
      Krister Walfridsson committed
    • re PR c/78285 (error on duplicate switch label where a note should be) · 0d939c95
      	PR c/78285
      	* c-common.c (c_add_case_label): Turn error_at calls into inform.
      
      	* gcc.dg/switch-5.c: Turn several dg-errors into dg-messages.
      	* g++.dg/ext/case-range2.C: Likewise.
      
      From-SVN: r242532
      Marek Polacek committed
    • aarch64.opt (mverbose-cost-dump): New option. · c10e3d7f
      2016-11-16  Andrew PInski  <apinski@cavium.com>
      
              * config/aarch64/aarch64.opt (mverbose-cost-dump): New option.
              * config/aarch64/aarch64.c (aarch64_rtx_costs): Use
              flag_aarch64_verbose_cost instead of checking for details dump.
              (aarch64_rtx_costs_wrapper): Likewise.
      
      From-SVN: r242531
      Andrew Pinski committed
    • re PR fortran/58001 (Make it possible to silence "Extension: Tab character in format" warning) · 99c72130
      2016-11-16  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/58001
      	* io.c (next_char_not_space): Update handling of a 'tab' in a FORMAT.
       	(format_lex): Adjust invocations of next_char_not_space().
       
      2016-11-16  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/58001
      	* gfortran.dg/fmt_tab_1.f90: Adjust testcase.
      	* gfortran.dg/fmt_tab_2.f90: Ditto.
      
      From-SVN: r242530
      Steven G. Kargl committed
    • Daily bump. · 243255c0
      From-SVN: r242529
      GCC Administrator committed
  2. 16 Nov, 2016 17 commits
    • re PR rtl-optimization/78378 (wrong code when combining shift + mult + zero_extend) · fb324f02
      	PR rtl-optimization/78378
      	* combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
      	inner only if pos is 0.  Fix up formatting.
      
      	* gcc.c-torture/execute/pr78378.c: New test.
      
      From-SVN: r242526
      Jakub Jelinek committed
    • R_MIPS_JALR failures · 8972f7e9
      This is a fix for my PR70890 patch, which incorrectly removed all
      REG_EQUIV notes rather than just one regarding a reg that dies.
      
      	PR rtl-optimization/78325
      	PR rtl-optimization/70890
      	* ira.c (combine_and_move_insns): Only remove REG_EQUIV notes
      	for dead regno.
      
      From-SVN: r242525
      Alan Modra committed
    • libiberty: Add Rust symbol demangling. · 10d48c59
      Adds Rust symbol demangler. Rust mangles symbols using GNU_V3 style,
      adding a hash and various special character subtitutions. This adds
      a new rust style to cplus_demangle and adds 3 helper functions
      rust_demangle, rust_demangle_sym and rust_is_mangled.
      
      rust-demangle.c was written by David. Mark did the code formatting to
      GNU style and integration into the gcc/libiberty build system and
      testsuite.
      
      include/ChangeLog:
      
      2016-11-03  David Tolnay <dtolnay@gmail.com>
                 Mark Wielaard  <mark@klomp.org>
      
             * demangle.h (DMGL_RUST): New macro.
             (DMGL_STYLE_MASK): Add DMGL_RUST.
             (demangling_styles): Add dlang_rust.
             (RUST_DEMANGLING_STYLE_STRING): New macro.
             (RUST_DEMANGLING): New macro.
             (rust_demangle): New prototype.
             (rust_is_mangled): Likewise.
             (rust_demangle_sym): Likewise.
      
      libiberty/ChangeLog:
      
      2016-11-03  David Tolnay <dtolnay@gmail.com>
                 Mark Wielaard  <mark@klomp.org>
      
             * Makefile.in (CFILES): Add rust-demangle.c.
             (REQUIRED_OFILES): Add rust-demangle.o.
             * cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
             (cplus_demangle): Handle RUST_DEMANGLING.
             (rust_demangle): New function.
             * rust-demangle.c: New file.
             * testsuite/Makefile.in (really-check): Add check-rust-demangle.
             (check-rust-demangle): New rule.
             * testsuite/rust-demangle-expected: New file.
      
      Co-Authored-By: Mark Wielaard <mark@klomp.org>
      
      From-SVN: r242524
      David Tolnay committed
    • PR c++/78373 - ICE with TREE_CONSTANT reference · 46b2baa7
      	* decl.c (cp_finish_decl): Don't set TREE_CONSTANT on a reference.
      	* typeck2.c (store_init_value): Likewise.
      
      From-SVN: r242523
      Jason Merrill committed
    • * rtl.h: Declare gt_ggc_mx and gt_pch_nx. · 2ec15cba
      From-SVN: r242522
      Jason Merrill committed
    • Commentary corrections · 23bed414
      From-SVN: r242521
      William Schmidt committed
    • re PR tree-optimization/77848 (Gimple if-conversion results in redundant comparisons) · 9e16e656
      2016-11-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/77848
      	* tree-if-conv.c (version_loop_for_if_conversion): When versioning
      	an outer loop, only save basic block aux information for the inner
      	loop.
      	(versionable_outer_loop_p): New function.
      	(tree_if_conversion): Version the outer loop instead of the inner
      	one if the pattern will be recognized for outer-loop
      	vectorization.
      
      From-SVN: r242520
      Bill Schmidt committed
    • gcc: remove unneeded global related to hot/cold partitioning · a2ea37fb
      The `user_defined_section_attribute' is used as part of the condition to
      determine if GCC should partition blocks within a function into hot and
      cold blocks.  This global is initially false, and is set to true from
      within the file parse phase of GCC, as part of the attribute handling
      hook.
      
      The `user_defined_section_attribute' is reset to false as part of the
      final pass of GCC.  However, the final pass is part of the optimisation
      phase of the compiler, and so if at any point during the file parse
      phase any function, or data, has a section attribute the global
      `user_defined_section_attribute' will be set to true.
      
      When GCC performs the block partitioning pass on the first function, if
      `user_defined_section_attribute' is true then the function will not be
      partitioned.  Notice though, that due to the above, whether we partition
      this first function or not has nothing to do with whether the function
      has a section attribute, instead, if any function or data in the parsed
      file has a section attribute then we don't partition the first
      function.
      
      After performing (or not) the block partitioning pass on the first
      function we perform the final pass on the first function, at which point
      we reset `user_defined_section_attribute' to false.  As parsing is
      complete by this point, we will never set
      `user_defined_section_attribute' to true after that, and so all of the
      following functions will have the partition blocks pass performed on
      them, even if the function has a section attribute, and will not be
      partitioned.
      
      Luckily we don't end up partitioning functions that should not be
      partitioned though.  Due to the way that functions are selected during
      the assembler writing phase, if a function has a section attribute this
      takes priority over any hot/cold block partitioning that has been done.
      
      What we see from the above then is that the
      `user_defined_section_attribute' mechanism is broken.  It was originally
      created when GCC parsed, optimised, and generated assembler function at
      a time.  Now that we deal with the whole file in one go, we need to
      update the mechanism used to gate the block partitioning pass.
      
      This patch does this by looking specifically for a section attribute on
      the function DECL, which removes the need for a global variable, and
      will work whether we parse the whole file in one go, or one function at
      a time.
      
      A few new tests have been added.  These check for the case where a
      function is not partitioned when it could be.
      
      gcc/ChangeLog:
      
      	* gcc/bb-reorder.c: Remove 'toplev.h' include.
      	(pass_partition_blocks::gate): No longer check
      	user_defined_section_attribute, instead check the function decl
      	for a section attribute.
      	* gcc/c-family/c-attribs.c (handle_section_attribute): No longer
      	set user_defined_section_attribute.
      	* gcc/final.c (rest_of_handle_final): Likewise.
      	* gcc/toplev.c: Remove definition of user_defined_section_attribute.
      	* gcc/toplev.h: Remove declaration of
      	user_defined_section_attribute.
      
      gcc/testsuiteChangeLog:
      
      	* gcc.dg/tree-prof/section-attr-1.c: New file.
      	* gcc.dg/tree-prof/section-attr-2.c: New file.
      	* gcc.dg/tree-prof/section-attr-3.c: New file.
      
      From-SVN: r242519
      Andrew Burgess committed
    • re PR libfortran/51119 (MATMUL slow for large matrices) · d174eb65
      2016-11-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/51119
      	* Makefile.am: Remove -fno-protect-parens -fstack-arrays.
      	* Makefile.in: Regenerate.
      
      From-SVN: r242518
      Jerry DeLisle committed
    • MIPS16/GCC: Emit explicit JRC from `casesi_internal_mips16_<mode>' insn · 576b0863
      	gcc/
      	* config/mips/mips.md (casesi_internal_mips16_<mode>):
      	Explicitly switch between JR and JRC for the table jump.  Adjust
      	instruction count.
      
      From-SVN: r242517
      Maciej W. Rozycki committed
    • MIPS16/GCC: Improve `casesi_internal_mips16_<mode>'s instruction count estimate · a3be783a
      	gcc/
      	* config/mips/mips.md (casesi_internal_mips16_<mode>): Set
      	`insn_count' to 11 rather than 16.
      
      From-SVN: r242516
      Maciej W. Rozycki committed
    • MIPS16/GCC: Correct `casesi_internal_mips16_<mode>'s RTL pattern · 9d2082e7
      	gcc/
      	* config/mips/mips.md (casesi_internal_mips16_<mode>): Use the
      	`ltu' rather than `leu' operation in the RTL pattern
      
      From-SVN: r242515
      Maciej W. Rozycki committed
    • MIPS16/GCC: Fix DImode `casesi_internal_mips16_<mode>' assembly instructions · d08c0ea3
      	gcc/
      	* config/mips/mips.md (casesi_internal_mips16_<mode>): Add
      	missing <d> instruction prefixes throughout.  Correct
      	formatting.
      
      	gcc/testsuite/
      	* gcc.target/mips/code-readable-4.c (dg-final): Expect `dla'
      	rather than `la'.
      
      From-SVN: r242514
      Maciej W. Rozycki committed
    • Fix tuple decomposition decltype. · fc72d1ed
      	* decl.c (store_decomp_type, lookup_decomp_type): New.
      	(cp_finish_decomp): Call store_decomp_type.
      	* semantics.c (finish_decltype_type): Call lookup_decomp_type.
      	* cp-tree.h: Declare lookup_decomp_type.
      
      From-SVN: r242513
      Jason Merrill committed
    • microMIPS/GCC: Fix PIC call relaxation · 8e2be5ae
      	gcc/
      	* config/mips/mips.c (mips_output_jump): Output R_MICROMIPS_JALR
      	rather than R_MIPS_JALR relocation in microMIPS code.  Do not
      	cancel short delay slots in PIC call relaxation.
      
      	gcc/testsuite/
      	* gcc.target/mips/call-1.c (dg-options): Add `-mno-micromips'.
      	(dg-final): Remove microMIPS JALRS mnemonic matching.
      	* gcc.target/mips/call-2.c (dg-options): Add `-mno-micromips'.
      	(dg-final): Remove microMIPS JALRS mnemonic matching.
      	* gcc.target/mips/call-3.c (dg-options): Add `-mno-micromips'.
      	(dg-final): Remove microMIPS JALRS mnemonic matching.
      	* gcc.target/mips/call-4.c (dg-options): Add `-mno-micromips'.
      	* gcc.target/mips/call-5.c (dg-options): Add `-mno-micromips'.
      	* gcc.target/mips/call-6.c (dg-options): Add `-mno-micromips'.
      	* gcc.target/mips/call-1u.c: New test case.
      	* gcc.target/mips/call-2u.c: New test case.
      	* gcc.target/mips/call-3u.c: New test case.
      	* gcc.target/mips/call-4u.c: New test case.
      	* gcc.target/mips/call-5u.c: New test case.
      	* gcc.target/mips/call-6u.c: New test case.
      
      From-SVN: r242512
      Maciej W. Rozycki committed
    • re PR bootstrap/72823 (r239175 causes build failure) · 3549e181
      	PR bootstrap/72823
      	* configure.ac (ENABLE_ASSERT_CHECKING): Define if gcc configure
      	would define that macro.
      	* configure: Regenerated.
      	* config.in: Regenerated.
      
      From-SVN: r242510
      Jakub Jelinek committed
    • runtime: replace runtime1.goc with Go and C code · 350767bf
          
          A step toward eliminating goc2c.
          
          Drop the exported parfor code; it was needed for tests in the past, but
          no longer is. The Go 1.7 runtime no longer uses parfor.
          
          Reviewed-on: https://go-review.googlesource.com/33324
      
      From-SVN: r242509
      Ian Lance Taylor committed