1. 08 Dec, 2015 20 commits
    • PR c/68757: fix uninitialized src_range for various builtins · 46c6e1e2
      gcc/c/ChangeLog:
      	PR c/68757
      	* c-parser.c (c_parser_get_builtin_args): Add
      	"out_close_paren_loc" param, and write back to it.
      	(c_parser_postfix_expression): Capture the closing
      	parenthesis location for RID_CHOOSE_EXPR,
      	RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
      	RID_BUILTIN_SHUFFLE and use it to set the source range
      	for such expressions; within RID_BUILTIN_COMPLEX set
      	the underlying location.
      
      gcc/testsuite/ChangeLog:
      	PR c/68757
      	* gcc.dg/plugin/diagnostic-test-expressions-1.c
      	(test_builtin_choose_expr): New test function.
      	(test_builtin_call_with_static_chain): Likewise.
      	(test_builtin_complex): Likewise.
      	(test_builtin_shuffle): Likewise.
      
      From-SVN: r231414
      David Malcolm committed
    • [AArch64] Skip big-endian as well for gcc.target/aarch64/got_mem_hoist_1.c · b26a3da5
      
      2015-12-08  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/testsuite/
        * gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian
        as well.
      
      From-SVN: r231413
      Jiong Wang committed
    • re PR c++/68116 (ice in add_expr, at tree.c:7840) · d5cec9c4
      	PR c++/68116
      	* g++.dg/cpp0x/pr68116.C: New test.
      
      From-SVN: r231412
      Marek Polacek committed
    • Clear restrict in install_var_field · 8498c16b
      2015-12-08  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/68640
      	* omp-low.c (install_var_field): Clear the restrict qualifier on the var
      	type.
      
      From-SVN: r231411
      Tom de Vries committed
    • AVX-512. Fix assembler section for broadcast pattern. · 9b340934
      gcc/
      	* config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
      	assembler to make source always 128bit.
      
      From-SVN: r231410
      Kirill Yukhin committed
    • pr68627.f: Use '!ia32' instead of 'lp64' in target specifier. · 9a89e069
      
      gcc/testsuite/
      	* gfortran.dg/pr68627.f: Use '!ia32' instead of 'lp64' in target
      	specifier.
      
      From-SVN: r231408
      Kirill Yukhin committed
    • Add file missing from earlier commit. · 7be73465
      From-SVN: r231407
      Bernd Schmidt committed
    • re PR c/48088 (-Werror=frame-larger-than=100 does not work as expected) · 63bbf46d
      	PR c/48088
      	PR c/68657
      	* common.opt (Wframe-larger-than=): Add Warning.
      	* opts.h (control_warning_option): Add ARG argument.
      	* opts-common.c (cmdline_handle_error): New function.
      	(read_cmdline_option): Use it.
      	(control_warning_option): Likewise.  Add ARG argument.
      	If non-NULL, decode it if needed and pass through
      	to handle_generated_option.  Handle CLVC_ENUM like
      	CLVC_BOOLEAN.
      	* opts.c (common_handle_option): Adjust control_warning_option
      	caller.
      	(enable_warning_as_error): Likewise.
      c-family/
      	* c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
      	* c-pragma.c (handle_pragma_diagnostic): Adjust
      	control_warning_option caller.
      ada/
      	* gcc-interface/trans.c (Pragma_to_gnu): Adjust
      	control_warning_option caller.
      testsuite/
      	* c-c++-common/pr68657-1.c: New test.
      	* c-c++-common/pr68657-2.c: New test.
      	* c-c++-common/pr68657-3.c: New test.
      	* gcc.dg/cpp/warn-normalized-3.c: Use
      	-Werror=normalized=nfc instead of -Werror=normalized=
      	in dg-options.
      
      From-SVN: r231406
      Jakub Jelinek committed
    • Add file missing from previous commit: · 091db7b0
      2015-12-08  David Sherwood  <david.sherwood@arm.com>
      
      Add file missing from previous commit:
      gcc/testsuite:
      	* gcc.target/aarch64/fmaxmin.c
      
      From-SVN: r231404
      David Sherwood committed
    • [testsuite][ARM target attributes] Fix effective_target tests. · f9184ba0
      2015-12-08  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* lib/target-supports.exp
      	(check_effective_target_arm_vfp_ok_nocache): New.
      	(check_effective_target_arm_vfp_ok): Call the new
      	check_effective_target_arm_vfp_ok_nocache function.
      	(check_effective_target_arm_fp_ok_nocache): New.
      	(check_effective_target_arm_fp_ok): New.
      	(add_options_for_arm_fp): New.
      	(check_effective_target_arm_crypto_ok_nocache): Require
      	target_arm_v8_neon_ok instead of arm32.
      	(check_effective_target_arm_crypto_pragma_ok_nocache): New.
      	(check_effective_target_arm_crypto_pragma_ok): New.
      	(add_options_for_arm_vfp): New.
      	* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
      	target. Do not force -mfloat-abi=softfp, use arm_vfp effective
      	target instead.
      	* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
      	-mfloat-abi=softfp, use arm_fp effective target instead.
      	* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
      	dependency.
      	* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
      	use arm_vfp effective target instead.
      	* gcc.target/arm/attr-neon3.c: Likewise.
      
      From-SVN: r231403
      Christophe Lyon committed
    • pr68627.f: Limit target to x86. · 409c286f
      gcc/testsuite:
      	* gfortran.dg/pr68627.f: Limit target to x86.
      
      From-SVN: r231402
      Kirill Yukhin committed
    • builtin-return-1.c: Add an inline assembly read to make sure dummy is not optimized away by LTO. · ceeb21ef
      2015-12-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
                  Joern Rennecke  <joern.rennecke@embecosm.com>
      
          gcc/testsuite/
          * gcc.dg/torture/stackalign/builtin-return-1.c: Add an
          inline assembly read to make sure dummy is not optimized
          away by LTO.
      
      Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>
      
      From-SVN: r231401
      Andre Vieira committed
    • [AArch64] Rework ARMv8.1 command line options. · 5b688993
      	* config/aarch64/aarch64-options-extensions.def: Remove
      	AARCH64_FL_RDMA from "fp" and "simd".  Remove "pan", "lor",
      	"rdma".
      	* config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
      	(AARCH64_FL_LOR): Remove.
      	(AARCH64_FL_RDMA): Remove.
      	(AARCH64_FL_V8_1): New.
      	(AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
      	and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
      	(AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
      	* doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and
      	section on -march=native.  Group descriptions of permitted
      	architecture names together.  Expand description of
      	-march=armv8.1-a.
      	(AArch64 -mtune): Slightly rework section on -march=native.
      	(AArch64 -mcpu): Slightly rework section on -march=native.
      	(AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma".
      	State that -march=armv8.1-a enables "crc" and "lse".
      
      From-SVN: r231400
      Matthew Wahab committed
    • * doc/invoke.texi (SPARC options): Fix typo. · fb0e6f4f
      From-SVN: r231399
      Eric Botcazou committed
    • ia64.c (ia64_emit_probe_stack_range): Adjust. · 73866e0d
      	* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
      	(output_probe_stack_range): Rotate the loop and simplify.
      
      From-SVN: r231398
      Eric Botcazou committed
    • i386.c (ix86_emit_swsqrtsf): Cleanup infinity filterning code. · e8e1c90f
      	* config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
      	infinity filterning code.
      
      From-SVN: r231397
      Uros Bizjak committed
    • ChangeLog: Fix whitespace. · 8d22292e
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r231396
      Uros Bizjak committed
    • re PR tree-optimization/68766 (internal compiler error: in… · dc9604d4
      re PR tree-optimization/68766 (internal compiler error: in expand_LOOP_VECTORIZED, at internal-fn.c:1905)
      
      gcc/
      
      	PR tree-optimization/68766
      	* tree-vectorizer.c (vectorize_loops): Check for
      	if-converted loops when debug counters are used.
      
      gcc/testsuite/
      
      	PR tree-optimization/68766
      	* gcc.dg/pr68766.c: New test.
      
      From-SVN: r231395
      Ilya Enkovich committed
    • constraints.md (Wfr): Change to be a non-memory constraint. · 27d815b2
      * config/rl78/constraints.md (Wfr): Change to be a non-memory
      constraint.
      * config/rl78/rl78-protos.h (rl78_one_far_p): Declare.
      * config/rl78/rl78.c (rl78_one_far_p): Define.
      * config/rl78/rl78-virt (movqi_virt): Fix far memory
      alternatives.
      (movhi_virt): Likewise.
      (zero_extendqihi2_virt): Likewise.
      (extendqihi2_virt): Likewise.
      (add<mode>3_virt): Likewise.
      (sub<mode>3_virt): Likewise.
      (andqi3_virt): Likewise.
      (iorqi3_virt): Likewise.
      (xorqi3_virt): Likewise.
      * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc
      overflow in large files.
      
      From-SVN: r231394
      DJ Delorie committed
    • Daily bump. · 196889fa
      From-SVN: r231391
      GCC Administrator committed
  2. 07 Dec, 2015 20 commits
    • re PR target/63668 (-mstd-struct-return fails for non-leaf functions) · 9250444b
      	PR target/63668
      	* doc/invoke.texi (SPARC options): Document -mstd-struct-return.
      	* config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
      	* config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define.
      	* config/sparc/sparc.opt (mstd-struct-return): Accept negative form.
      
      From-SVN: r231387
      Eric Botcazou committed
    • re PR c++/68760 (ICE in pp_string (pretty-print.c:909)) · 7c010e27
      	PR c++/68760
      	* error.c (dump_global_iord): Use DECL_SOURCE_FILE (t)
      	instead of LOCATION_FILE (input_location).
      
      	* g++.dg/tree-ssa/pr68760.C: New test.
      
      From-SVN: r231386
      Jakub Jelinek committed
    • re PR c++/68683 ([concepts] function satisfy_argument_deduction_constraint… · 17c6c56b
      re PR c++/68683 ([concepts] function satisfy_argument_deduction_constraint modifies a type tree node but leaves TYPE_CANONICAL unchanged)
      
      	PR c++/68683
      	* constraint.cc (satisfy_argument_deduction_constraint): Set
      	TYPE_CANONICAL to NULL_TREE if PLACEHOLDER_TYPE_CONSTRAINTS are
      	changed.
      
      From-SVN: r231385
      Ryan Burn committed
    • re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR) · 0be72a6b
      	PR middle-end/66726
      	* g++.dg/tree-ssa/pr66726.c: Renamed to...
      	* g++.dg/tree-ssa/pr66726.C: ... this.
      
      From-SVN: r231384
      Jakub Jelinek committed
    • wrap-delay.c: New test. · bcaddce2
      2015-12-07  Steve Ellcey  <sellcey@imgtec.com>
      
      	* gcc.target/mips/wrap-delay.c: New test.
      
      From-SVN: r231383
      Steve Ellcey committed
    • reorg.c (optimize_skip): Do not put frame related instructions in annulled delay slots. · 1167d047
      2015-12-07  Steve Ellcey  <sellcey@imgtec.com>
      
      	* reorg.c (optimize_skip): Do not put frame related instructions
      	in annulled delay slots.
      	(steal_delay_list_from_target): Ditto.
      	(fill_slots_from_thread): Ditto.
      
      From-SVN: r231382
      Steve Ellcey committed
    • re PR c++/68464 (ICE in valid constexpr function: ../../src/gcc/tree.c:11497) · 2fa586ad
      	PR c++/68464
      	* cp-gimplify.c (cp_fold): Don't assume X has TREE_TYPE.
      	(cp_genericize): Don't do cp_fold_r here.
      	(cp_fold_function): New.
      	* cp-tree.h: Declare it.
      	* decl.c (finish_function): Call it and the pre-genericize plugin
      	before NRV processing.
      
      From-SVN: r231381
      Jason Merrill committed
    • re PR c++/68170 (Declaring friend template class template in C++1z produces… · 7873d5fb
      re PR c++/68170 (Declaring friend template class template in C++1z produces error: specialization of ‘template<class T> class A’ must appear at namespace)
      
      	PR c++/68170
      	* pt.c (maybe_new_partial_specialization): The injected-class-name
      	is not a new partial specialization.
      
      From-SVN: r231380
      Jason Merrill committed
    • g++.exp: Also find -std list in GXX_TESTSUITE_STDS environment variable. · 122ea310
      gcc/testsuite/
      	* lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS
      	environment variable.
      gcc/cp/
      	* Make-lang.in (check-c++1z, check-c++-all): Use GXX_TESTSUITE_STDS.
      
      From-SVN: r231379
      Jason Merrill committed
    • Add scheduling model for Exynos M1 · b2ca46df
      gcc/
      	* config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model.
      	* config/aarch64/aarch64.md: Include "exynos-m1.md".
      	* config/arm/arm.md: Likewise.
      	* config/arm/exynos-m1.md: New file.
      
      From-SVN: r231378
      Evandro Menezes committed
    • nvptx.c (write_return): New. · 0beb7c71
      	* config//nvptx/nvptx.c (write_return): New.
      	(write_fn_proto, nvptx_declare_function_name): Call it.
      
      From-SVN: r231375
      Nathan Sidwell committed
    • re PR c/68668 (bogus error: invalid use of array with unspecified bounds) · 66189108
      	PR c/68668
      	* c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
      	TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
      
      	* gcc.dg/pr68668.c: New test.
      
      From-SVN: r231374
      Marek Polacek committed
    • re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2) · 71e54687
      	PR ipa/61886
      	* symtab.c (ultimate_transparent_alias_target): New inline function.
      	(symbol_table::assembler_names_equal_p): New method; break out from ...
      	(symbol_table::decl_assembler_name_equal): ... here.
      	(symbol_table::change_decl_assembler_name): Also update names and
      	translation links of transparent aliases.
      	(symtab_node::dump_base): Dump transparent_alias.
      	(symtab_node::verify_base): Implement basic transparent alias
      	verification.
      	(symtab_node::make_decl_local): Support localization of weakrefs;
      	recurse to transparent aliases; set TREE_STATIC.
      	(symtab_node::ultimate_alias_target_1): Handle visibility of
      	transparent aliases.
      	(symtab_node::resolve_alias): New parmaeter transparent; handle
      	transparent aliases; recurse to aliases of aliases to fix comdat
      	groups.
      	(symtab_node::get_partitioning_class): Handle transparent aliases.
      	* ipa-visibility.c (cgraph_externally_visible_p,
      	varpool_node::externally_visible_p): Visibility of transparent alias
      	depends on its target.
      	(function_and_variable_visibility): Do not tweak visibility of
      	transparent laiases.
      	(function_and_variable_visibility): Likewise.
      	* ipa.c (symbol_table::remove_unreachable_nodes): Clear
      	transparent_alias flag.
      	* alias.c (cgraph_node::create_alias, cgraph_node::get_availability):
      	Support transparent aliases.
      	* cgraph.h (symtab_node): Update prototype of resolve_alias;
      	add transparent_alias flag.
      	(symbol_table: Add assembler_names_equal_p.
      	(symtab_node::real_symbol_p): Skip transparent aliases.
      	* cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag.
      	(handle_alias_pairs): Set transparent_alias for weakref.
      	(cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent
      	aliases.
      	* lto-cgraph.c (lto_output_node): When outputting same_comdat_group
      	skip symbols not put into boundary; stream transparent_alias.
      	(lto_output_varpool_node): Likewise.
      	(input_overwrite_node, input_varpool_node): Stream transparent alias.
      	* varpool.c (ctor_for_folding, varpool_node::get_availability,
      	varpool_node::assemble_aliases,
      	symbol_table::remove_unreferenced_decls): Handle transparent aliase.
      	(varpool_node::create_alias): Set transparent_alias.
      
      	* lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
      	rename_statics, rename_statics): Handle transparent aliases.
      
      From-SVN: r231373
      Jan Hubicka committed
    • re PR middle-end/68291 (ICE in emit_move_insn, at expr.c:3540) · 058c6384
      	PR middle-end/68291
      	PR middle-end/68292
      	* cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
      	SSA names based on RESULT_DECLs.
      	* function.c (expand_function_start): Do not create BLKmode REGs
      	for GIMPLE registers when coalescing is enabled.
      
      From-SVN: r231372
      Eric Botcazou committed
    • final.c (shorten_branches): Fix check for basic asm. · 5dd2902a
      2015-12-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * final.c (shorten_branches): Fix check for basic asm.
      
      From-SVN: r231371
      Bernd Edlinger committed
    • pr68349.c (strlen): Rename to my_strlen. · 2b7482f8
      2015-12-07  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* gcc.target/i386/pr68349.c (strlen): Rename to my_strlen.
      
      From-SVN: r231370
      Vladimir Makarov committed
    • ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for basic asm. · a20b6691
      2015-12-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for
              basic asm.
      
      From-SVN: r231369
      Bernd Edlinger committed
    • nvptx.c (nvptx_output_call_insn): Emit trap after no return call. · 51baf85a
      	gcc/
      	* config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no
      	return call.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/abort.c: New.
      
      From-SVN: r231368
      Nathan Sidwell committed
    • Fix missing range information for "%q+D" format code · f79520bb
      gcc/c-family/ChangeLog:
      	* c-common.c (c_cpp_error): Update for change to
      	rich_location::set_range.
      
      gcc/fortran/ChangeLog:
      	* error.c (gfc_format_decoder): Update for change of
      	text_info::set_range to text_info::set_location.
      
      gcc/ChangeLog:
      	* pretty-print.c (text_info::set_range): Rename to...
      	(text_info::set_location): ...this, converting 2nd param
      	from source_range to a location_t.
      	* pretty-print.h (text_info::set_location): Convert
      	from inline function to external definition.
      	(text_info::set_range): Delete.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/diagnostic-ranges-1.c: New test file.
      	* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
      	(test_percent_q_plus_d): New test function.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Rewrite test code using
      	rich_location::set_range.  Add code to unit-test the "%q+D"
      	format code.
      
      libcpp/ChangeLog:
      	* include/line-map.h (rich_location::set_range): Add line_maps *
      	param; convert param from source_range to source_location.  Drop
      	"overwrite_loc_p" param.
      	* line-map.c (rich_location::set_range): Likewise, acting as if
      	"overwrite_loc_p" were true, and getting range from the location.
      
      From-SVN: r231367
      David Malcolm committed