1. 24 Jan, 2017 20 commits
    • re PR tree-optimization/79159 (spurious array-bounds warning) · cf8d19de
      	PR tree-optimization/79159
      	* tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
      	(record_nonwrapping_iv): Imporve boundary using above function if no
      	value range information.
      
      	gcc/testsuite
      	PR tree-optimization/79159
      	* g++.dg/tree-ssa/pr79159.C: New test.
      
      From-SVN: r244868
      Bin Cheng committed
    • Brig front-end · 5fd1486c
      2017-01-24  Pekka Jääskeläinen <pekka@parmance.com>
      	    Martin Jambor  <mjambor@suse.cz>
      
      	* Makefile.def (target_modules): Added libhsail-rt.
      	(languages): Added language brig.
      	* Makefile.in: Regenerated.
      	* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Added
      	tgarget-libhsail-rt.  Make brig unsupported on untested architectures.
      	* configure: Regenerated.
      
      gcc/
      	* brig-builtins.def: New file.
      	* builtins.def (DEF_HSAIL_BUILTIN): New macro.
      	(DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
      	(DEF_HSAIL_SAT_BUILTIN): Likewise.
      	(DEF_HSAIL_INTR_BUILTIN): Likewise.
      	(DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
      	* builtin-types.def (BT_INT8): New.
      	(BT_INT16): Likewise.
      	(BT_UINT8): Likewise.
      	(BT_UINT16): Likewise.
      	(BT_FN_ULONG): Likewise.
      	(BT_FN_UINT_INT): Likewise.
      	(BT_FN_UINT_ULONG): Likewise.
      	(BT_FN_UINT_LONG): Likewise.
      	(BT_FN_UINT_PTR): Likewise.
      	(BT_FN_ULONG_PTR): Likewise.
      	(BT_FN_INT8_FLOAT): Likewise.
      	(BT_FN_INT16_FLOAT): Likewise.
      	(BT_FN_UINT32_FLOAT): Likewise.
      	(BT_FN_UINT16_FLOAT): Likewise.
      	(BT_FN_UINT8_FLOAT): Likewise.
      	(BT_FN_UINT64_FLOAT): Likewise.
      	(BT_FN_UINT16_UINT32): Likewise.
      	(BT_FN_UINT32_UINT16): Likewise.
      	(BT_FN_UINT16_UINT16_UINT16): Likewise.
      	(BT_FN_INT_PTR_INT): Likewise.
      	(BT_FN_UINT_PTR_UINT): Likewise.
      	(BT_FN_LONG_PTR_LONG): Likewise.
      	(BT_FN_ULONG_PTR_ULONG): Likewise.
      	(BT_FN_VOID_UINT64_UINT64): Likewise.
      	(BT_FN_UINT8_UINT8_UINT8): Likewise.
      	(BT_FN_INT8_INT8_INT8): Likewise.
      	(BT_FN_INT16_INT16_INT16): Likewise.
      	(BT_FN_INT_INT_INT): Likewise.
      	(BT_FN_UINT_FLOAT_UINT): Likewise.
      	(BT_FN_FLOAT_UINT_UINT): Likewise.
      	(BT_FN_ULONG_UINT_UINT): Likewise.
      	(BT_FN_ULONG_UINT_PTR): Likewise.
      	(BT_FN_ULONG_ULONG_ULONG): Likewise.
      	(BT_FN_UINT_UINT_UINT): Likewise.
      	(BT_FN_VOID_UINT_PTR): Likewise.
      	(BT_FN_UINT_UINT_PTR: Likewise.
      	(BT_FN_UINT32_UINT64_PTR): Likewise.
      	(BT_FN_INT_INT_UINT_UINT): Likewise.
      	(BT_FN_UINT_UINT_UINT_UINT): Likewise.
      	(BT_FN_UINT_UINT_UINT_PTR): Likewise.
      	(BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
      	(BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
      	(BT_FN_LONG_LONG_UINT_UINT): Likewise.
      	(BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
      	(BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
      	(BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
      	(BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
      	(BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
      	(BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
      	* doc/frontends.texi: List BRIG FE.
      	* doc/install.texi (Testing): Add BRIG tesring requirements.
      	* doc/invoke.texi (Overall Options): Mention BRIG.
      	* doc/standards.texi (Standards): Doucment BRIG HSA version.
      
      gcc/brig/
      
      	* Make-lang.in: New file.
      	* brig-builtins.h: Likewise.
      	* brig-c.h: Likewise.
      	* brig-lang.c: Likewise.
      	* brigspec.c: Likewise.
      	* config-lang.in: Likewise.
      	* lang-specs.h: Likewise.
      	* lang.opt: Likewise.
      	* brigfrontend/brig-arg-block-handler.cc: Likewise.
      	* brigfrontend/brig-atomic-inst-handler.cc: Likewise.
      	* brigfrontend/brig-basic-inst-handler.cc: Likewise.
      	* brigfrontend/brig-branch-inst-handler.cc: Likewise.
      	* brigfrontend/brig-cmp-inst-handler.cc: Likewise.
      	* brigfrontend/brig-code-entry-handler.cc: Likewise.
      	* brigfrontend/brig-code-entry-handler.h: Likewise.
      	* brigfrontend/brig-comment-handler.cc: Likewise.
      	* brigfrontend/brig-control-handler.cc: Likewise.
      	* brigfrontend/brig-copy-move-inst-handler.cc: Likewise.
      	* brigfrontend/brig-cvt-inst-handler.cc: Likewise.
      	* brigfrontend/brig-fbarrier-handler.cc: Likewise.
      	* brigfrontend/brig-function-handler.cc: Likewise.
      	* brigfrontend/brig-function.cc: Likewise.
      	* brigfrontend/brig-function.h: Likewise.
      	* brigfrontend/brig-inst-mod-handler.cc: Likewise.
      	* brigfrontend/brig-label-handler.cc: Likewise.
      	* brigfrontend/brig-lane-inst-handler.cc: Likewise.
      	* brigfrontend/brig-machine.c: Likewise.
      	* brigfrontend/brig-machine.h: Likewise.
      	* brigfrontend/brig-mem-inst-handler.cc: Likewise.
      	* brigfrontend/brig-module-handler.cc: Likewise.
      	* brigfrontend/brig-queue-inst-handler.cc: Likewise.
      	* brigfrontend/brig-seg-inst-handler.cc: Likewise.
      	* brigfrontend/brig-signal-inst-handler.cc: Likewise.
      	* brigfrontend/brig-to-generic.cc: Likewise.
      	* brigfrontend/brig-to-generic.h: Likewise.
      	* brigfrontend/brig-util.cc: Likewise.
      	* brigfrontend/brig-util.h: Likewise.
      	* brigfrontend/brig-variable-handler.cc: Likewise.
      	* brigfrontend/phsa.h: Likewise.
      
      
      gcc/testsuite/
      
      	* lib/brig-dg.exp: New file.
      	* lib/brig.exp: Likewise.
      	* brig.dg/README: Likewise.
      	* brig.dg/dg.exp: Likewise.
      	* brig.dg/test/gimple/alloca.hsail: Likewise.
      	* brig.dg/test/gimple/atomics.hsail: Likewise.
      	* brig.dg/test/gimple/branches.hsail: Likewise.
      	* brig.dg/test/gimple/fbarrier.hsail: Likewise.
      	* brig.dg/test/gimple/function_calls.hsail: Likewise.
      	* brig.dg/test/gimple/kernarg.hsail: Likewise.
      	* brig.dg/test/gimple/mem.hsail: Likewise.
      	* brig.dg/test/gimple/mulhi.hsail: Likewise.
      	* brig.dg/test/gimple/packed.hsail: Likewise.
      	* brig.dg/test/gimple/smoke_test.hsail: Likewise.
      	* brig.dg/test/gimple/variables.hsail: Likewise.
      	* brig.dg/test/gimple/vector.hsail: Likewise.
      
      include/
      
      	* hsa.h: Moved here from libgomp/plugin/hsa.h.
      
      libgomp/
      
      	* plugin/hsa.h: Moved to top level include.
      	* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
      
      libhsail-rt/
      
      	* Makefile.am: New file.
      	* target-config.h.in: Likewise.
      	* configure.ac: Likewise.
      	* configure: Likewise.
      	* config.h.in: Likewise.
      	* aclocal.m4: Likewise.
      	* README: Likewise.
      	* Makefile.in: Likewise.
      	* include/internal/fibers.h: Likewise.
      	* include/internal/phsa-queue-interface.h: Likewise.
      	* include/internal/phsa-rt.h: Likewise.
      	* include/internal/workitems.h: Likewise.
      	* rt/arithmetic.c: Likewise.
      	* rt/atomics.c: Likewise.
      	* rt/bitstring.c: Likewise.
      	* rt/fbarrier.c: Likewise.
      	* rt/fibers.c: Likewise.
      	* rt/fp16.c: Likewise.
      	* rt/misc.c: Likewise.
      	* rt/multimedia.c: Likewise.
      	* rt/queue.c: Likewise.
      	* rt/sat_arithmetic.c: Likewise.
      	* rt/segment.c: Likewise.
      	* rt/workitems.c: Likewise.
      
      
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      
      From-SVN: r244867
      Pekka Jääskeläinen committed
    • re PR translation/79208 (Typo in gcc/ipa-devirt.c:1631) · e1e41b6f
      2017-01-24  Richard Biener  <rguenther@suse.de>
      
      	PR translation/79208
      	* ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
      
      From-SVN: r244866
      Richard Biener committed
    • PR libstdc++/79206 check string_view sizes in operator== · 8cb7179d
      	PR libstdc++/79206
      	* include/experimental/string_view (operator==): Check sizes first.
      	* include/std/string_view (operator==): Likewise.
      
      From-SVN: r244865
      Jonathan Wakely committed
    • [PR 79198] Call ipa-prop func summary destructor · cf157d80
      2017-01-24  Martin Jambor  <mjambor@suse.cz>
      
      	PR bootstrap/79198
      	* ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
      	* ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
      	and known_contexts.
      
      From-SVN: r244860
      Martin Jambor committed
    • re PR middle-end/79123 (incorrect -Walloca-larger-than: alloca may be too large… · 4cd7b1a9
      re PR middle-end/79123 (incorrect -Walloca-larger-than: alloca may be too large due to conversion from long int to long unsigned int)
      
      	PR middle-end/79123
      	* gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
      	casts from signed to unsigned really don't have a range.
      
      From-SVN: r244859
      Aldy Hernandez committed
    • Fix build failure with MPFR 2.4.x · cf8e20bf
      	* gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
      	GMP_RNDx for compatiblity.
      
      From-SVN: r244858
      Markus Trippelsdorf committed
    • Fix false positive for -Walloc-size-larger-than (PR bootstrap/79132). · ad804024
      2017-01-24  Martin Liska  <mliska@suse.cz>
      
      	PR bootstrap/79132
      	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
      	that would prevent us to call alloca with -1 as argument.
      
      From-SVN: r244857
      Martin Liska committed
    • asan_test.C: Enable on all *-*-linux* targets that support asan... · c3b3e526
      	* g++.dg/asan/asan_test.C: Enable on all *-*-linux* targets that
      	support asan, only on i?86/x86_64 require sse2_runtime.
      
      From-SVN: r244856
      Jakub Jelinek committed
    • dwarf2out.c (output_compilation_unit_header, [...]): Avoid -Wformat-security warning. · 5d286a68
      	* dwarf2out.c (output_compilation_unit_header, output_file_names):
      	Avoid -Wformat-security warning.
      
      From-SVN: r244855
      Jakub Jelinek committed
    • aarch64.c (thunderx2t99_addrcost_table): Improve cost table. · 5f407e57
      2017-01-23  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
              cost table.
      
      From-SVN: r244851
      Andrew Pinski committed
    • re PR rtl-optimization/66669 (FAIL: gcc.dg/loop-8.c) · 75f92127
      gcc/testsuite/ChangeLog:
      
      2017-01-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/66669
      	* gcc.dg/loop-8.c: Modify dg-skip-if directive to exclude this
      	test on powerpc targets.
      
      From-SVN: r244850
      Kelvin Nilsen committed
    • Amend recent entry. · f7864c9f
      From-SVN: r244849
      Martin Sebor committed
    • builtin-sprintf.c: Add test cases. · 1a998fa0
      gcc/testsuite/ChangeLog:
      	* gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases.
      
      From-SVN: r244848
      Martin Sebor committed
    • PR middle-end/78703 - -fprintf-return-value floating point handling incorrect... · 02f1ef40
      PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
      	* gimple-ssa-sprintf.c (warn_level): New global.
      	(format_integer): Use it here and throughout the rest of the file.
      	Use the same switch to compute sign as base.
      	(maybe_warn): New function.
      	(format_directive): Factor out warnings into maybe_warn.
      	Add debugging output.  Use warn_level.
      	(add_bytes): Use warn_level.
      	(pass_sprintf_length::compute_format_length): Add debugging output.
      	(try_substitute_return_value): Same.
      	(pass_sprintf_length::handle_gimple_call): Set and use warn_level.
      
      From-SVN: r244847
      Martin Sebor committed
    • PR middle-end/78703 - -fprintf-return-value floating point handling incorrect... · a151e93b
      PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
      	* gimple-ssa-sprintf.c (struct format_result): Remove constant member.
      	(struct fmtresult, format_integer, format_floating): Adjust.
      	(get_string_length, format_string,format_directive): Same.
      	(pass_sprintf_length::compute_format_length): Same.
      	(try_substitute_return_value): Simplify slightly.
      
      From-SVN: r244846
      Martin Sebor committed
    • PR middle-end/78703 - -fprintf-return-value floating point handling incorrect... · 954b452a
      PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
      	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
      	(fmtresult::operator+=): Outlined.
      	(struct fmtresult): Add ctors.
      	(struct conversion_spec): Rename...
      	(struct directive): ...to this.  Add and remove data members.
      	(directive::set_width, directive::set_precision): New functions.
      	(format_percent): Use fmtresult ctor.
      	(get_width_and_precision): Remove.
      	(format_integer): Make naming changes.  Avoid computing width and
      	precision.
      	(format_floating): Same.  Adjust indentation.
      	(format_character, format_none): New functions.
      	(format_string): Moved character handling to format_character.
      	(format_directive): Remove arguments, change return type.
      	(parse_directive): New function.
      	(pass_sprintf_length::compute_format_length): Move directive
      	parsing to parse_directive.
      
      From-SVN: r244845
      Martin Sebor committed
    • re PR sanitizer/79168 (libtsan fails to link when cross compiling GCC tip for Aarch64 target) · 86b2a558
      	PR sanitizer/79168
      	* merge.sh (change_comment_headers): Don't remove 2nd and 3rd line
      	if the 3rd line doesn't contain 'The LLVM Compiler Infrastructure'
      	text.
      	* sanitizer_common/sanitizer_linux_mips64.S: Regenerated.
      	* sanitizer_common/sanitizer_linux_x86_64.S: Likewise.
      	* tsan/tsan_ppc_regs.h: Likewise.
      	* tsan/tsan_rtl_aarch64.S: Likewise.
      	* tsan/tsan_rtl_mips64.S: Likewise.
      	* tsan/tsan_rtl_ppc64.S: Likewise.
      
      From-SVN: r244844
      Jakub Jelinek committed
    • Daily bump. · 158c139f
      From-SVN: r244843
      GCC Administrator committed
  2. 23 Jan, 2017 20 commits
    • Restore <functional> header to test · 11948d83
      	* testsuite/experimental/array/make_array.cc: Restore <functional>
      	inclusion.
      
      From-SVN: r244840
      Jonathan Wakely committed
    • tree.h (assign_assembler_name_if_neeeded): Rename to ... · 9579db35
      	* tree.h (assign_assembler_name_if_neeeded): Rename to ...
      	(assign_assembler_name_if_needed): ... this.
      	* tree.c (assign_assembler_name_if_neeeded): Rename to ...
      	(assign_assembler_name_if_needed): ... this.
      	(free_lang_data_in_cgraph): Adjust callers.
      	* cgraphunit.c (cgraph_node::analyze): Likewise.
      	* omp-expand.c (expand_omp_taskreg, expand_omp_target):
      	Likewise.
      
      From-SVN: r244839
      Jakub Jelinek committed
    • re PR tree-optimization/79088 (wrong code at -O2 on x86_64-linux-gnu) · 108fdd6d
      2017-01-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/79088
      	PR tree-optimization/79188
      	* tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
      	resetting loop bounds after last path deletion.  Reset loop
      	bounds of the target loop, make code match the comments.
      	* tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
      	Make sure loops need no fixups.
      
      	* gcc.dg/torture/pr79088.c: New testcase.
      	* gcc.dg/torture/pr79188.c: Likewise.
      
      From-SVN: r244837
      Richard Biener committed
    • * da.po: Update. · 01f26e0e
      From-SVN: r244836
      Joseph Myers committed
    • libgo: update to go1.8rc2 · c25edd44
          
          Fix a bug in the generation of the hash value in reflect.FuncOf.
          
          The merge script missed a bunch of testdata files over the years.
          Copy them over.
          
          Reviewed-on: https://go-review.googlesource.com/35570
      
      From-SVN: r244835
      Ian Lance Taylor committed
    • scalar-insert-exp-3.c: New test. · 28826a66
      gcc/testsuite/ChangeLog:
      
      2017-01-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/bfp/scalar-insert-exp-3.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-4.c: New test.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: New test.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Adjust return
      	type of test function to reflect change in built-in function's
      	return type.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Adjust return
      	type and second argument type to reflect change in built-in
      	function's type signature.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Adjust return
      	type of test function to reflect change in built-in function's
      	return type.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-insert-exp-4.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-5.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-6.c: New test.
      	* gcc.target/powerpc/bfp/vec-insert-exp-7.c: New test.
      	* gcc.target/powerpc/bfp/vec-test-data-class-0.c: Adjust return
      	type of test function to reflect change in built-in function's
      	return type.
      	* gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise.
      	* gcc.target/powerpc/bfp/vec-test-data-class-6.c: Adjust types of
      	test function's result and second argument to reflect change in
      	built-in function's type signature.
      	* gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise.
      
      gcc/ChangeLog:
      
      2017-01-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
      	exponent support with double type for first argument.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
      	type returned by __builtin_vec_extract_sig,
      	__builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
      	functions from "vector int" to "vector unsigned int" or from
      	"vector long long int" to "vector unsigned long long int".
      	Changed type returned by __builtin_vec_extract_exp,
      	__builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
      	functions from "vector int" to "vector unsigned int" or from
      	"vector long long int" to "vector unsigned long long int".
      	Changed return type of __builtin_vec_test_data_class,
      	__builtin_vec_test_data_class_sp, and
      	__builtin_vec_test_data_class_dp from "vector int" to
      	"vector bool int" or from "vector long long int" to "vector bool
      	long long int" and changed second argument type from "unsigned
      	int" to "int".  Added new overloaded function forms "vector float
      	__builtin_vec_insert_exp (vector float, vector unsigned int)" and
      	"vector float __builtin_vec_insert_exp_sp (vector float, vector
      	unsigned int)" and "vector double __builtin_vec_insert_exp (vector
      	double, vector unsigned long long int)" and "vector double
      	__builtin_vec_insert_exp_dp (vector double, vector unsigned long
      	long int)".  Changed return type of
      	__builtin_scalar_test_data_class and
      	__builtin_scalar_test_data_class_sp and
      	__builtin_scalar_test_data_class_dp from "unsigned int" to "bool
      	int" and changed second argument from "unsigned int" to "int".
      	Changed type returned by __builtin_scalar_test_neg,
      	__builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
      	from "int" to "bool int".  Added new overloaded function form
      	"double __builtin_scalar_insert_exp (double, unsigned long long int)".
      	* config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
      	exponent double-precision with floating point first argument.
      	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
      	documentation of scalar_test_data_class, scalar_test_neg,
      	scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
      	vector_extract_exp, vec_extract_sig, vec_insert_exp, and
      	vec_test_data_class built-in functions to reflect refinements in
      	their type signatures.
      
      From-SVN: r244834
      Kelvin Nilsen committed
    • PR c++/71710 - template using directive of field · fc7612fd
      	PR c++/71710 - template using directive of field
      	* pt.c (tsubst_copy_and_build [COMPONENT_REF]): Move FIELD_DECL
      	check earlier.
      
      	PR C++/71710
      	* g++.dg/template/pr71710.C: New.
      
      From-SVN: r244833
      Nathan Sidwell committed
    • PR c++/71406 - ICE with scope-ref'd template id exprs · e6b8075c
      	PR c++/71406 - ICE with scope-ref'd template id exprs
      	PR c++/77508
      	* typeck.c (finish_class_member_access_expr): Break up SCOPE_REF
      	before breaking up TEMPLATE_ID_EXPR.
      
      	PR c++/71406
      	PR c++/77508
      	* g++.dg/template/pr71406.C: New.
      
      From-SVN: r244832
      Nathan Sidwell committed
    • arith.c (arith_power): If simplifying integer power expression to zero... · 15b8fd49
      2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
      
      	* arith.c (arith_power):  If simplifying integer power expression
      	to zero, warn if -Winteger-division is given.
      
      2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
      
      	* gfortran.dg/integer_exponentiation_7.f90:  New test.
      
      From-SVN: r244830
      Thomas Koenig committed
    • aarch64.c (aarch64_elf_asm_constructor): Increase size of buf. · 53d190c1
      2017-01-23  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
          size of buf.
          (aarch64_elf_asm_destructor): Likewise.
      
      From-SVN: r244828
      Andreas Tobler committed
    • re PR go/79037 (gccgo: Binaries crash with parforsetup: pos is not aligned on m68k) · b0147ac2
      	PR go/79037
          compiler, runtime: align gc data for m68k
          
          The current GC requires that the gc data be aligned to at least a 4
          byte boundary, because it uses the lower two bits of the address for
          flags (see LOOP and PRECISE in runtime/mgc0.c).  As the gc data is
          stored as a [...]uintptr, that is normally always true.  However, on
          m68k, that only guarantees 2 byte alignment.  Fix it by forcing the
          alignment.
          
          The parfor code used by the current GC requires that the parfor data
          be aligned to at least an 8 byte boundary.  The code in parfor.c
          verifies this.  This is normally true, as the data uses uint64_t
          values, but, again, this must be enforced explicitly on m68k.
          
          Fixes GCC PR 79037.
          
          Reviewed-on: https://go-review.googlesource.com/35478
      
      From-SVN: r244824
      Ian Lance Taylor committed
    • libgo: bump library version to 11 · a0488df4
          
          As usual I forgot to bump the library version when I updated the
          library to 1.8rc1.
          
          Reviewed-on: https://go-review.googlesource.com/35568
      
      From-SVN: r244823
      Ian Lance Taylor committed
    • 69301.cc: Require atomic builtins. · a750159e
      2017-01-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          libstdc++-v3/
          * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
      
      From-SVN: r244819
      Thomas Preud'homme committed
    • * fr.po: Update. · 61f84884
      From-SVN: r244818
      Joseph Myers committed
    • re PR rtl-optimization/71724 (ICE: Segmentation fault, deep recursion between… · 427ed3ae
      re PR rtl-optimization/71724 (ICE: Segmentation fault, deep recursion between combine_simplify_rtx and subst)
      
      	PR rtl-optimization/71724
      	* combine.c (if_then_else_cond): Look for situations where it is
      	beneficial to undo the work of one of the recursive calls.
      
      From-SVN: r244817
      Bernd Schmidt committed
    • re PR rtl-optimization/78634 (30% performance drop after r242832.) · e9c4fbe9
      	PR rtl-optimization/78634
      	* config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
      	(TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
      	* ifcvt.c (noce_try_cmove): Add missing cost check.
      
      testsuite/
      	PR rtl-optimization/78634
      	* gcc.target/i386/funcspec-11.c: Also pass -mtune=i686.
      
      From-SVN: r244816
      Bernd Schmidt committed
    • re PR tree-optimization/70754 (ICE during predictive commoning) · 8539a302
      	PR tree-optimization/70754
      	* tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
      	(reassociate_to_the_same_stmt): New parameter INSERT_BEFORE.  Insert
      	combined stmt before it if not NULL.
      	(combine_chains): Process refs reversely and compute dominance point
      	for root ref.
      
      	gcc/testsuite
      	PR tree-optimization/70754
      	* gfortran.dg/pr70754.f90: New test.
      
      From-SVN: r244815
      Bin Cheng committed
    • PR libstdc++/79195 fix make_array type deduction · 61ad58f3
      	PR libstdc++/79195
      	* include/experimental/array (__make_array_elem): New class template
      	and partial specialization.
      	(__is_reference_wrapper): Move into __make_array_elem specialization.
      	(make_array): Use __make_array_elem to determine element type and move
      	static assertion into specialization. Qualify std::forward call.
      	(to_array): Add exception specifiation.
      	* testsuite/experimental/array/make_array.cc: Test argument types
      	without a common type.
      	* testsuite/experimental/array/neg.cc: Adjust expected error message.
      
      From-SVN: r244813
      Jonathan Wakely committed
    • Fix strstr folding (PR tree-optimization/79196). · f368600f
      2017-01-23  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/79196
      	* tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
      	(fold_strstr_to_strncmp): ... this.  Fold the pattern to strncmp
      	instead of memcmp.
      	(strlen_optimize_stmt): Call the renamed function.
      2017-01-23  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/79196
      	* gcc.dg/asan/pr79196.c: New test.
      	* gcc.dg/strlenopt-30.c: Update scanned pattern.
      
      From-SVN: r244812
      Martin Liska committed
    • fix pr78384 · d886761f
      	PR tree-optimization/78384
      	* tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
      
      testsuite/
      	PR tree-optimization/78384
      	* gcc.dg/pr78384.c: New test.
      
      From-SVN: r244811
      Michael Matz committed