David Malcolm [Wed, 9 Dec 2015 00:46:31 +0000 (00:46 +0000)]
 
Fix misleading indentation in tree-nested.c
gcc/ChangeLog:
	* tree-nested.c (convert_tramp_reference_stmt): Fix indentation.
From-SVN: r231436
David Malcolm [Wed, 9 Dec 2015 00:44:14 +0000 (00:44 +0000)]
 
Fix misleading indentation in tree-ssa-loop-unswitch.c
gcc/ChangeLog:
	* tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix
	indentation.
From-SVN: r231435
GCC Administrator [Wed, 9 Dec 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231434
Jan Hubicka [Tue, 8 Dec 2015 22:03:36 +0000 (23:03 +0100)]
 
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
	PR ipa/61886
	* lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
	into the boundary.
From-SVN: r231430
Jan Hubicka [Tue, 8 Dec 2015 22:02:23 +0000 (23:02 +0100)]
 
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
	PR ipa/61886
	* varpool.c (varpool_node::get_availability): Recurse only on
	weakrefs with definition in the target.
	(symbol_table::remove_unreferenced_decls): Keep aliases in the boundary.
From-SVN: r231429
Jan Hubicka [Tue, 8 Dec 2015 22:01:41 +0000 (23:01 +0100)]
 
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
	PR ipa/61886
	* ipa-visibility.c (can_replace_by_local_alias): Look through transparent
	aliaes; refuse weakrefs.
	(update_visibility_by_resolution_info): Skip transparent aliases in the
	analysis part
From-SVN: r231428
Jan Hubicka [Tue, 8 Dec 2015 22:00:55 +0000 (23:00 +0100)]
 
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
	PR ipa/61886
	* symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
	(symtab_node::noninterposable_alias): Do not accept transparent
	aliases.
From-SVN: r231427
Nathan Sidwell [Tue, 8 Dec 2015 21:06:42 +0000 (21:06 +0000)]
 
nvptx.c (decl_chunk_size, [...]): Replace with ...
	gcc/
	* config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
	decl_offset, init_part, object_size, object_finished): Replace
	with ...
	(struct init_frag): ... this new struct variable.
	(begin_decl_field, output_decl_chunk): Replace with ...
	(output_init_frag): ... this new function.
	(nvptx_assemble_value): Reimplement.
	(nvptx_assemble_integer, nvptx_output_skip): Adjust.
	(nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust.
	(nvptx_output_aligned_decl): Call nvptx_assemble_decl_end.
	gcc/testsuite/
	* gcc.target/nvptx/trailing-init.c: New.
From-SVN: r231426
Jan Hubicka [Tue, 8 Dec 2015 20:46:42 +0000 (21:46 +0100)]
 
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
	PR ipa/61886
	* lto-partition.c (add_symbol_to_partition_1): Transparent aliases
	are not part of the definition.
	(contained_in_symbol): Likewise.
	(promote_symbol): When promoting a symbol also promote all transparent
	aliases.
	(rename_statics): Weakref needs unique name, too.
From-SVN: r231425
Eric Botcazou [Tue, 8 Dec 2015 18:47:54 +0000 (18:47 +0000)]
 
re PR middle-end/68291 (ICE in emit_move_insn, at expr.c:3540)
	PR middle-end/68291
	PR middle-end/68292
	* cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
	with BLKmode promoted mode based on RESULT_DECLs.
From-SVN: r231422
Nathan Sidwell [Tue, 8 Dec 2015 18:43:10 +0000 (18:43 +0000)]
 
920723-1.c: Remove PTX skip.
	* gcc.c-torture/compile/920723-1.c: Remove PTX skip.
	* gcc.c-torture/compile/pr33855.c: Likewise.
	* gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip.
From-SVN: r231421
Uros Bizjak [Tue, 8 Dec 2015 18:42:15 +0000 (19:42 +0100)]
 
* testsuite/ChangeLog: Fix last entry.
From-SVN: r231420
Uros Bizjak [Tue, 8 Dec 2015 18:41:21 +0000 (19:41 +0100)]
 
re PR target/68701 ("gcc -m32 -finstrument-functions -ffixed-ebp" produces internal compiler error)
	PR target/68701
	* config/i386/i386.c (ix86_option_override_internal): Enable
	-maccumulate-outgoing-args when %ebp is fixed due to stack
	realignment requirements.
testsuite/ChangeLog:
	PR target/68701
	* testsuite/gcc.target/i386/pr68701-1.c: New test.
	* testsuite/gcc.target/i386/pr68701-2.c: Ditto.
From-SVN: r231419
Uros Bizjak [Tue, 8 Dec 2015 18:21:15 +0000 (19:21 +0100)]
 
sse4_1-round.h (do_round): Fix inline asm statements.
	* gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements.
	* gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto.
	* gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto.
From-SVN: r231418
Eric Botcazou [Tue, 8 Dec 2015 17:08:18 +0000 (17:08 +0000)]
 
* gcc.dg/sso-9.c (foo): Robustify trick.
From-SVN: r231416
David Malcolm [Tue, 8 Dec 2015 17:03:26 +0000 (17:03 +0000)]
 
C: fix uninitialized ranges for __alignof__
gcc/c/ChangeLog:
	* c-parser.c (c_parser_alignof_expression): Capture location of
	closing parenthesis (if any), or of end of unary expression, and
	use it to build a src_range for the expression.
gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof):
	New test function.
From-SVN: r231415
David Malcolm [Tue, 8 Dec 2015 16:57:27 +0000 (16:57 +0000)]
 
PR c/68757: fix uninitialized src_range for various builtins
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
Jiong Wang [Tue, 8 Dec 2015 15:37:07 +0000 (15:37 +0000)]
 
[AArch64] Skip big-endian as well for gcc.target/aarch64/got_mem_hoist_1.c
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
Marek Polacek [Tue, 8 Dec 2015 14:43:32 +0000 (14:43 +0000)]
 
re PR c++/68116 (ice in add_expr, at tree.c:7840)
	PR c++/68116
	* g++.dg/cpp0x/pr68116.C: New test.
From-SVN: r231412
Tom de Vries [Tue, 8 Dec 2015 14:17:42 +0000 (14:17 +0000)]
 
Clear restrict in install_var_field
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
Kirill Yukhin [Tue, 8 Dec 2015 14:09:45 +0000 (14:09 +0000)]
 
AVX-512. Fix assembler section for broadcast pattern.
gcc/
	* config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
	assembler to make source always 128bit.
From-SVN: r231410
Kirill Yukhin [Tue, 8 Dec 2015 13:54:30 +0000 (13:54 +0000)]
 
pr68627.f: Use '!ia32' instead of 'lp64' in target specifier.
gcc/testsuite/
	* gfortran.dg/pr68627.f: Use '!ia32' instead of 'lp64' in target
	specifier.
From-SVN: r231408
Bernd Schmidt [Tue, 8 Dec 2015 13:35:46 +0000 (13:35 +0000)]
 
Add file missing from earlier commit.
From-SVN: r231407
Jakub Jelinek [Tue, 8 Dec 2015 13:26:35 +0000 (14:26 +0100)]
 
re PR c/48088 (-Werror=frame-larger-than=100 does not work as expected)
	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
David Sherwood [Tue, 8 Dec 2015 11:26:33 +0000 (11:26 +0000)]
 
Add file missing from previous commit:
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
Christophe Lyon [Tue, 8 Dec 2015 11:17:18 +0000 (11:17 +0000)]
 
[testsuite][ARM target attributes] Fix effective_target tests.
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
Kirill Yukhin [Tue, 8 Dec 2015 10:41:01 +0000 (10:41 +0000)]
 
pr68627.f: Limit target to x86.
gcc/testsuite:
	* gfortran.dg/pr68627.f: Limit target to x86.
From-SVN: r231402
Andre Vieira [Tue, 8 Dec 2015 10:01:45 +0000 (10:01 +0000)]
 
builtin-return-1.c: Add an inline assembly read to make sure dummy is not optimized away by LTO.
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
Matthew Wahab [Tue, 8 Dec 2015 09:23:51 +0000 (09:23 +0000)]
 
[AArch64] Rework ARMv8.1 command line options.
	* 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
Eric Botcazou [Tue, 8 Dec 2015 09:01:58 +0000 (09:01 +0000)]
 
* doc/invoke.texi (SPARC options): Fix typo.
From-SVN: r231399
Eric Botcazou [Tue, 8 Dec 2015 08:55:51 +0000 (08:55 +0000)]
 
ia64.c (ia64_emit_probe_stack_range): Adjust.
	* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
	(output_probe_stack_range): Rotate the loop and simplify.
From-SVN: r231398
Uros Bizjak [Tue, 8 Dec 2015 08:53:42 +0000 (09:53 +0100)]
 
i386.c (ix86_emit_swsqrtsf): Cleanup infinity filterning code.
	* config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
	infinity filterning code.
From-SVN: r231397
Uros Bizjak [Tue, 8 Dec 2015 08:50:47 +0000 (09:50 +0100)]
 
ChangeLog: Fix whitespace.
	* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.
From-SVN: r231396
Ilya Enkovich [Tue, 8 Dec 2015 07:16:04 +0000 (07:16 +0000)]
 
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
DJ Delorie [Tue, 8 Dec 2015 06:10:17 +0000 (01:10 -0500)]
 
constraints.md (Wfr): Change to be a non-memory constraint.
* 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
GCC Administrator [Tue, 8 Dec 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231391
Eric Botcazou [Mon, 7 Dec 2015 23:18:29 +0000 (23:18 +0000)]
 
re PR target/63668 (-mstd-struct-return fails for non-leaf functions)
	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
Jakub Jelinek [Mon, 7 Dec 2015 22:44:19 +0000 (23:44 +0100)]
 
re PR c++/68760 (ICE in pp_string (pretty-print.c:909))
	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
Ryan Burn [Mon, 7 Dec 2015 21:45:13 +0000 (21:45 +0000)]
 
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
Jakub Jelinek [Mon, 7 Dec 2015 21:05:51 +0000 (22:05 +0100)]
 
re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
	PR middle-end/66726
	* g++.dg/tree-ssa/pr66726.c: Renamed to...
	* g++.dg/tree-ssa/pr66726.C: ... this.
From-SVN: r231384
Steve Ellcey [Mon, 7 Dec 2015 20:39:04 +0000 (20:39 +0000)]
 
wrap-delay.c: New test.
2015-12-07  Steve Ellcey  <sellcey@imgtec.com>
	* gcc.target/mips/wrap-delay.c: New test.
From-SVN: r231383
Steve Ellcey [Mon, 7 Dec 2015 20:37:38 +0000 (20:37 +0000)]
 
reorg.c (optimize_skip): Do not put frame related instructions in annulled delay slots.
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
Jason Merrill [Mon, 7 Dec 2015 19:34:11 +0000 (14:34 -0500)]
 
re PR c++/68464 (ICE in valid constexpr function: ../../src/gcc/tree.c:11497)
	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 [Mon, 7 Dec 2015 19:34:04 +0000 (14:34 -0500)]
 
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 [Mon, 7 Dec 2015 19:33:59 +0000 (14:33 -0500)]
 
g++.exp: Also find -std list in GXX_TESTSUITE_STDS environment variable.
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
Evandro Menezes [Mon, 7 Dec 2015 19:30:01 +0000 (19:30 +0000)]
 
Add scheduling model for Exynos M1
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
Jan Hubicka [Mon, 7 Dec 2015 18:50:07 +0000 (19:50 +0100)]
 
* fold-const.c (operand_equal_p): Drp flag_strict_aliasing check.
From-SVN: r231377
Nathan Sidwell [Mon, 7 Dec 2015 17:53:09 +0000 (17:53 +0000)]
 
nvptx.c (write_return): New.
	* config//nvptx/nvptx.c (write_return): New.
	(write_fn_proto, nvptx_declare_function_name): Call it.
From-SVN: r231375
Marek Polacek [Mon, 7 Dec 2015 17:52:23 +0000 (17:52 +0000)]
 
re PR c/68668 (bogus error: invalid use of array with unspecified bounds)
	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
Jan Hubicka [Mon, 7 Dec 2015 17:36:54 +0000 (18:36 +0100)]
 
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
	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
Eric Botcazou [Mon, 7 Dec 2015 16:45:45 +0000 (16:45 +0000)]
 
re PR middle-end/68291 (ICE in emit_move_insn, at expr.c:3540)
	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
Bernd Edlinger [Mon, 7 Dec 2015 16:27:59 +0000 (16:27 +0000)]
 
final.c (shorten_branches): Fix check for basic asm.
2015-12-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
        * final.c (shorten_branches): Fix check for basic asm.
From-SVN: r231371
Vladimir Makarov [Mon, 7 Dec 2015 16:26:23 +0000 (16:26 +0000)]
 
pr68349.c (strlen): Rename to my_strlen.
2015-12-07  Vladimir Makarov  <vmakarov@redhat.com>
	* gcc.target/i386/pr68349.c (strlen): Rename to my_strlen.
From-SVN: r231370
Bernd Edlinger [Mon, 7 Dec 2015 16:23:49 +0000 (16:23 +0000)]
 
ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for basic asm.
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
Nathan Sidwell [Mon, 7 Dec 2015 16:08:42 +0000 (16:08 +0000)]
 
nvptx.c (nvptx_output_call_insn): Emit trap after no return call.
	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
David Malcolm [Mon, 7 Dec 2015 16:07:00 +0000 (16:07 +0000)]
 
Fix missing range information for "%q+D" format code
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
Martin Liska [Mon, 7 Dec 2015 15:35:25 +0000 (16:35 +0100)]
 
Fix changelog entry and add pr66896.C.
From-SVN: r231365
Dmitry Vyukov [Mon, 7 Dec 2015 15:27:50 +0000 (07:27 -0800)]
 
Fix new sancov tests
	* gcc.dg/sancov/sancov.exp: Load asan-dg.exp.
	* gcc.dg/sancov/asan.c: Don't run when asan is not available.
From-SVN: r231364
Nathan Sidwell [Mon, 7 Dec 2015 13:46:07 +0000 (13:46 +0000)]
 
nvptx.c (nvptx_assemble_decl_begin): Look inside complex and vector types.
	gcc/
	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside
	complex and vector types.  Cope with packed structs.
	gcc/testsuite/
	* gcc.target/nvptx/decl-init.c: New.
From-SVN: r231362
Kirill Yukhin [Mon, 7 Dec 2015 11:12:41 +0000 (11:12 +0000)]
 
re PR target/68627 ([i386, AVX-512] Illegal insn generated while compiling spec2k6/437.leslie3d for KNL)
PR target/68627
gcc/
	* config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only.
	Force destination to 512 bits register.
gcc/testsuite/
	* gfortran.dg/pr68627.f: New test.
From-SVN: r231361
Kirill Yukhin [Mon, 7 Dec 2015 11:06:44 +0000 (11:06 +0000)]
 
Commit accidentally forgotten tests.
gcc/testsuite/
	* c-c++-common/attr-simd-4.c: New test.
	* c-c++-common/attr-simd-5.c: New test.
From-SVN: r231360
Kirill Yukhin [Mon, 7 Dec 2015 11:05:40 +0000 (11:05 +0000)]
 
re PR target/68633 ([i386, AVX-512] Spec2006/434.zeus miscompares when executed on KNL)
PR target/68633
gcc/
	* config/i386/sse.md (define_insn "kunpckhi"): Fix operands order.
	(define_insn "kunpcksi"): Ditto.
	(define_insn "kunpckdi"): Ditto.
gcc/testsuite
	* gcc.target/i386/pr68633.c: New test.
From-SVN: r231359
Jason Merrill [Mon, 7 Dec 2015 04:35:14 +0000 (23:35 -0500)]
 
Fix parse/no-type-defn1.C with -std=c++1z.
	* parser.c (struct tentative_firewall): New.
	(cp_parser_template_id, cp_parser_decltype_expr): Use it.
From-SVN: r231354
Jason Merrill [Mon, 7 Dec 2015 04:35:08 +0000 (23:35 -0500)]
 
Fix decltype-call1.C with -std=c++1z.
	* parser.h (struct cp_token): Tell GTY that CPP_DECLTYPE uses
	tree_check_value.
	* parser.c (cp_parser_decltype): Use tree_check_value.
	(saved_checks_value): New.
	(cp_parser_nested_name_specifier_opt): Use it.
	(cp_parser_template_id): Use it.
	(cp_parser_simple_type_specifier): Use it.
	(cp_parser_pre_parsed_nested_name_specifier): Use it.
From-SVN: r231353
Jason Merrill [Mon, 7 Dec 2015 04:35:02 +0000 (23:35 -0500)]
 
Fix crash70.C with -std=c++1z.
	* semantics.c (finish_qualified_id_expr): Handle
	UNBOUND_CLASS_TEMPLATE.
From-SVN: r231352
Jason Merrill [Mon, 7 Dec 2015 04:34:57 +0000 (23:34 -0500)]
 
Fix template/ref1.C, nontype15.C, addr-builtin1.C with -std=c++1z.
	* parser.c (cp_parser_template_argument): Handle references in
	C++1z mode.
	* constexpr.c (potential_constant_expression_1): Don't error about
	TREE_THIS_VOLATILE on declarations.
	[COMPONENT_REF]: Don't consider the object if we're dealing with an
	overloaded function.
From-SVN: r231351
Jason Merrill [Mon, 7 Dec 2015 04:34:51 +0000 (23:34 -0500)]
 
Fix memclass5.C, memfriend10.C, var-templ19.C with -std=c++1z.
	* constraint.cc (strictly_subsumes): New.
	* cp-tree.h: Declare it.
	* pt.c (process_partial_specialization): Use it instead of
	subsumes_constraints.
	(maybe_new_partial_specialization): Do compare null constraints.
	* search.c (lookup_member): Handle currently_open_class returning null.
From-SVN: r231350
Jason Merrill [Mon, 7 Dec 2015 04:34:43 +0000 (23:34 -0500)]
 
PR c++/68597, fix auto9.C and auto-neg1.C with -std=c++1z.
	* decl.c (check_tag_decl): Use ds_type_spec in auto diagnostic.
	* typeck.c (check_return_expr): Check for inconsistent deduction.
	* parser.c (class type_id_in_expr_sentinel): New.
	(cp_parser_primary_expression) [RID_VA_ARG]: Use it.
	(cp_parser_new_expression): Use it.
	(cp_parser_trait_expr): Use it.
	(cp_parser_type_id_1): Complain about auto if in_type_id_in_expr_p.
	(cp_parser_default_type_template_argument): Check for auto.
	(cp_parser_type_id_list): Likewise.
	(cp_parser_simple_type_specifier): Allow auto parms if flag_concepts.
	* pt.c (do_auto_deduction): Handle erroneous type.
From-SVN: r231349
Jason Merrill [Mon, 7 Dec 2015 04:34:36 +0000 (23:34 -0500)]
 
static_assert8.C: Fix for -std=c++1z.
	* g++.dg/cpp0x/static_assert8.C: Fix for -std=c++1z.
	* g++.dg/cpp0x/auto3.C: Fix for -std=c++1z.
	* g++.dg/cpp1y/feat-cxx14.C: Only run with -std=c++14.
	* g++.dg/cpp1y/feat-cxx14-neg.C: Only run with -std=c++14.
	* g++.dg/cpp1z/feat-cxx1z.C: Fill in from feat-cxx14.C.
	* g++.dg/cpp1z/fold5.C: Don't run with -std=c++1z.
	* g++.dg/template/function1.C: Don't run with -std=c++1z.
	* g++.dg/template/call4.C: Fix access.
	* g++.dg/parse/crash31.C: Remove expected error text.
From-SVN: r231348
GCC Administrator [Mon, 7 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231347
Kaz Kojima [Mon, 7 Dec 2015 00:02:14 +0000 (00:02 +0000)]
 
sh.md (rsqrtsf2): Adjust for the recent rsqrt_optab changes
* config/sh/sh.md (rsqrtsf2): Adjust for the recent rsqrt_optab changes
From-SVN: r231344
Piotr Trojanek [Sun, 6 Dec 2015 18:53:37 +0000 (18:53 +0000)]
 
re PR ada/60164 (Missing parenthesis in the documentation)
	PR ada/60164
	* doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.
From-SVN: r231342
Eric Botcazou [Sun, 6 Dec 2015 18:44:56 +0000 (18:44 +0000)]
 
re PR ada/50048 ("cc1: note: obsolete option -I- used, please use -iquote instead" during bootstrap)
gnattools/
	PR ada/50048
	* Makefile.in (ftop_srcdir): New variable.
	(INCLUDES_FOR_SUBDIR): Use -iquote and $(ftop_srcdir).
gcc/ada/
	PR ada/50048
	* gcc-interface/Makefile.in (INCLUDES): Use -iquote.
From-SVN: r231341
Victoria Stepanyan [Sun, 6 Dec 2015 17:02:48 +0000 (17:02 +0000)]
 
support for AMD clzero isa.
gcc/ChangeLog
2015-12-06  Victoria Stepanyan  <victoria.stepanyan@amd.com>
        * common/config/i386/i386-common.c
        (OPTION_MASK_ISA_CLZERO_SET): New.
        (ix86_handle_option): Handle clzero.
        * config.gcc (i[34567]86-*-*): Add clzerointrin.h,
        (x86_64-*-*): Likewise.
        * config/i386/clzerointrin.h: New header.
        * config/i386/cpuid.h (bit_CLZERO):  Define.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        CLZERO support.
        * config/i386/i386.opt (clzero): New.
        * config/i386/i386-c.c: Define __CLZERO__ if needed.
        * config/i386/i386.c (ix86_target_string): Define -mclzero option.
        (PTA_CLZERO): New.
        (ix86_option_override_internal): Handle new option.
        (processor_alias_table): Added PTA_CLZERO.
        (ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
        (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
        (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
        IX86_BUILTIN_CLZERO  built-ins.
        * config/i386/i386.h (TARGET_CLZERO):  New.
        * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
        (clzero):  New pattern.
        (clzero_<mode>): New pattern.
        * config/i386/x86intrin.h: Include clzerointrin.h.
        * doc/extend.texi: Document clzero builtins.
        * doc/invoke.texi: Document -mclzero option.
gcc/testsuite/ChangeLog
2015-12-06  Victoria Stepanyan  <victoria.stepanyan@amd.com>
        * gcc.target/i386/clzero.c: New.
        * gcc.target/i386/sse-12.c: Add -mclzero.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.
From-SVN: r231340
Eric Botcazou [Sun, 6 Dec 2015 15:28:16 +0000 (15:28 +0000)]
 
re PR ada/56274 (libada bootstrap failure on kfreebsd ("pthread_rwlock_t" not declared in "OS_Interface"))
	PR ada/56274
	* s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
	(pthread_rwlockattr_t): Likewise.
From-SVN: r231337
Ludovic Brenta [Sun, 6 Dec 2015 14:11:17 +0000 (14:11 +0000)]
 
re PR ada/49944 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:856:10: "pthread_attr_setaffinity_np" is undefined (more references follow)")
	PR ada/49944
	* s-osinte-freebsd.ads: Minor reformatting.
	(Stack_Base_Available): Correct comments.
	* s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
	clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
	mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
	pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
	pthread_attr_setscope, pthread_attr_getscope,
	pthread_attr_setinheritsched, pthread_attr_getinheritsched,
	Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
	* gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
	the System.Task_Primitives.Operations package.
From-SVN: r231333
Ludovic Brenta [Sun, 6 Dec 2015 14:00:16 +0000 (14:00 +0000)]
 
re PR ada/49940 (Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:717:32: "lwp_self" is undefined")
	PR ada/49940
	* s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
From-SVN: r231330
Tobias Burnus [Sun, 6 Dec 2015 10:42:49 +0000 (11:42 +0100)]
 
download_prerequisites: Download ISL 0.15 instead of 0.14.
2015-12-06  Tobias Burnus  <burnus@net-b.de>
        * download_prerequisites: Download ISL 0.15 instead of 0.14.
From-SVN: r231329
Jan Hubicka [Sun, 6 Dec 2015 05:45:16 +0000 (06:45 +0100)]
 
* ipa-icf.c (sem_function::merge): Check that local_original exists.
From-SVN: r231328
GCC Administrator [Sun, 6 Dec 2015 00:16:12 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231326
Juoko Orava [Sat, 5 Dec 2015 18:12:26 +0000 (20:12 +0200)]
 
re PR fortran/50201 (gfortran with -static causes seg fault at runtime for writing double prec array with precision increased to kind=16)
2015-12-05  Juoko Orava <jouko.orava@iki.fi>
	PR fortran/50201
	* io/write_float.def: Avoid marking quadmath_snprintf as an untyped
	weak reference, which fixing linking with -static.
From-SVN: r231320
Paul Thomas [Sat, 5 Dec 2015 17:10:33 +0000 (17:10 +0000)]
 
re PR fortran/68676 (ICE in gfc_match_formal_arglist when compiling gfortran.dg/submodule_10.f08)
2015-12-05  Paul Thomas  <pault@gcc.gnu.org>
	PR fortran/68676
	* decl.c (gfc_match_formal_arglist): Correct error, where 'sym'
	was used instead of 'progname'.
From-SVN: r231319
David Edelsohn [Sat, 5 Dec 2015 12:55:43 +0000 (12:55 +0000)]
 
* gcc.target/powerpc/recip-sqrtf.c: New test.
From-SVN: r231318
David Edelsohn [Sat, 5 Dec 2015 12:53:45 +0000 (12:53 +0000)]
 
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
        PR target/68609
        * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add
        bool arguement.
        * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add
        non-reciporcal path.
        * config/rs6000/rs6000.md (rsqrt<mode>2): Call new function name.
        (sqrt<mode>2): Replace define_insn with define_expand that may call
        rs6000_emit_swsqrt.
From-SVN: r231317
GCC Administrator [Sat, 5 Dec 2015 00:16:11 +0000 (00:16 +0000)]
 
Daily bump.
From-SVN: r231314
Aditya Kumar [Fri, 4 Dec 2015 21:38:56 +0000 (21:38 +0000)]
 
check that all the scev applied ops have are dominated by their defs
2015-12-02  Aditya Kumar  <aditya.k7@samsung.com>
	    Sebastian Pop  <s.pop@samsung.com>
        * gcc.dg/graphite/id-29.c: New test.
gcc/ChangeLog:
2015-12-02  Aditya Kumar  <aditya.k7@samsung.com>
	    Sebastian Pop  <s.pop@samsung.com>
        * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Improve debug.
        (get_rename_from_scev): Check that all the ops in an expression have their uses dominated by corresponding defs.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r231310
Aditya Kumar [Fri, 4 Dec 2015 21:36:55 +0000 (21:36 +0000)]
 
fix PR68693: Check for loop structure when extending the SCoP
The check for dominance while extending the scop assumed that
multiple successors meant a loop which is not true in case of
conditionals around the loop.
Improved pretty printers for better debugging.
	PR tree-optimization/68693
        * graphite-scop-detection.c (dot_all_sese): New
        (dot_all_scops_1): Renamed to dot_all_sese.
        (dot_all_scops): Removed.
        (dot_sese): New.
        (dot_cfg): New.
        (scop_detection::get_nearest_dom_with_single_entry): Check that preds are from different loop levels.
        (scop_detection::get_nearest_pdom_with_single_exit): Check that succs are from different loop levels.
        (scop_detection::print_sese): Inlined.
        (scop_detection::print_edge): New.
        (scop_detection::merge_sese): Added dumps.
        * graphite.h: Add declarations.
gcc/testsuite/ChangeLog:
        * gfortran.dg/graphite/pr68693.f90: New test.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r231309
James Greenhalgh [Fri, 4 Dec 2015 20:02:56 +0000 (20:02 +0000)]
 
[AArch64] Add register constraints to add<mode>3_pluslong
gcc/
2015-12-04  James Greenhalgh  <james.greenhalgh@arm.com>
	* config/aarch64/aarch64.md (add<mode>3_pluslong): Add register
	constraints.
gcc/testsuite/
2015-12-04  James Greenhalgh  <james.greenhalgh@arm.com>
	* gcc.c-torture/compile/
20151204.c: New.
From-SVN: r231304
 
Nathan Sidwell [Fri, 4 Dec 2015 19:58:43 +0000 (19:58 +0000)]
 
* gcc.dg/vla-24.c: Requires alloca.
From-SVN: r231303
Vladimir Makarov [Fri, 4 Dec 2015 19:23:21 +0000 (19:23 +0000)]
 
re PR rtl-optimization/68349 (ice in decompose_normal_address with -O2 at rtlanal.c:6086)
2015-12-04  Vladimir Makarov  <vmakarov@redhat.com>
	PR rtl-optimization/68349
	* lra-eliminations.c (move_plus_up): New function.
	(lra_eliminate_regs_1): Use the function.
2015-12-04  Vladimir Makarov  <vmakarov@redhat.com>
	PR rtl-optimization/68349
	* gcc.target/i386/pr68349.c: New test.
From-SVN: r231300
Nathan Sidwell [Fri, 4 Dec 2015 18:41:46 +0000 (18:41 +0000)]
 
nvptx.c (nvptx_assemble_decl_begin): New, replacing ...
	gcc/
	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New,
	replacing ...
	(init_output_initializer): ... this.
	(nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
	nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use
	nvptx_assemble_decl_begin.
	gcc/testsuite/
	* gcc.target/nvptx/ary-init.c: New.
From-SVN: r231298
Dmitry Vyukov [Fri, 4 Dec 2015 18:27:54 +0000 (10:27 -0800)]
 
Add fuzzing coverage support
	* sancov.c: New file.
	* Makefile.in (OBJS): Add sancov.o.
	* invoke.texi (-fsanitize-coverage=trace-pc): Describe.
	* passes.def (sancov_pass): Add.
	* tree-pass.h  (sancov_pass): Add.
	* common.opt (-fsanitize-coverage=trace-pc): Add.
	* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add.
	* builtins.def (DEF_SANITIZER_BUILTIN): Enable for
	flag_sanitize_coverage.
From-SVN: r231296
Eric Botcazou [Fri, 4 Dec 2015 18:25:54 +0000 (18:25 +0000)]
 
re PR middle-end/65958 (-fstack-check breaks alloca on architectures using generic stack checking)
	PR middle-end/65958
	* config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
	(unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
	* config/arm/arm.md (probe_stack_range): Adjust.
	* config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
	(unspecv): Add UNSPECV_PROBE_STACK_RANGE.
	(probe_stack_range_<PTR:mode>): Adjust.
From-SVN: r231295
Jason Merrill [Fri, 4 Dec 2015 18:18:27 +0000 (13:18 -0500)]
 
re PR c++/68645 (FAIL: c-c++-common/attr-simd-3.c  -std=gnu++11 (test for excess errors))
	PR c++/68645
	* parser.c (cp_parser_direct_declarator)
	(cp_parser_late_return_type_opt): Put Cilk+ attributes on
	declarator->attributes, not std_attributes.
From-SVN: r231294
David Malcolm [Fri, 4 Dec 2015 18:09:54 +0000 (18:09 +0000)]
 
C++ FE: expression ranges
gcc/ChangeLog:
	* convert.c (convert_to_real_1): When converting from a
	REAL_TYPE, preserve the location of EXPR in the result.
	* tree.c (get_pure_location): Make non-static.
	(set_source_range): Return the resulting location_t.
	(make_location): New function.
	* tree.h (get_pure_location): New decl.
	(get_finish): New inline function.
	(set_source_range): Convert return type from void to location_t.
	(make_location): New decl.
gcc/cp/ChangeLog:
	* cp-tree.h (class cp_expr): New class.
	(finish_parenthesized_expr): Convert return type and param to
	cp_expr.
	(perform_koenig_lookup): Convert return type and param from tree
	to cp_expr.
	(finish_increment_expr): Likewise.
	(finish_unary_op_expr): Likewise.
	(finish_id_expression): Likewise for return type.
	(build_class_member_access_expr): Likewise for param.
	(finish_class_member_access_expr): Likewise.
	(build_x_unary_op): Likewise.
	(build_c_cast): New decl.
	(build_x_modify_expr): Convert return type from tree to cp_expr.
	* cvt.c (cp_convert_and_check): When warning about conversions,
	attempt to use the location of "expr" if available, otherwise
	falling back to the old behavior of using input_location.
	* name-lookup.c (lookup_arg_dependent_1): Convert return type from
	tree to cp_expr.
	(lookup_arg_dependent): Likewise; also for local "ret".
	* name-lookup.h (lookup_arg_dependent): Likewise for return type.
	* parser.c (cp_lexer_previous_token): Skip past purged tokens.
	(struct cp_parser_expression_stack_entry): Convert field "lhs" to
	cp_expr.
	(cp_parser_identifier): Likewise for return type.  Use cp_expr
	ctor to preserve the token's location.
	(cp_parser_string_literal): Likewise, building up a meaningful
	location for the case where a compound string literal is built by
	concatentation.
	(cp_parser_userdef_char_literal): Likewise for return type.
	(cp_parser_userdef_numeric_literal): Likewise.
	(cp_parser_statement_expr): Convert return type to cp_expr.
	Generate a suitable location for the expr and return it via the
	cp_expr ctor.
	(cp_parser_fold_expression): Convert return type to cp_expr.
	(cp_parser_primary_expression): Likewise, and for locals "expr",
	"lam", "id_expression", "decl".
	Use cp_expr ctor when parsing literals, to preserve the spelling
	location of the token.  Preserve the locations of parentheses.
	Preserve location when calling objc_lookup_ivar.
	Preserve the location for "this" tokens.  Generate suitable
	locations for "__builtin_va_arg" constructs and for
	Objective C 2.0 dot-syntax.  Set the location for the result of
	finish_id_expression.
	(cp_parser_primary_expression): Convert return type from tree to
	cp_expr.
	(cp_parser_id_expression): Likewise.
	(cp_parser_unqualified_id): Likewise.  Also for local "id".
	(cp_parser_postfix_expression): Likewise, also for local
	"postfix_expression".  Generate suitable locations for
	C++-style casts, "_Cilk_spawn" constructs.  Convert local
	"initializer" to cp_expr and use it to preserve the location of
	compound literals.  Capture the location of the closing
	parenthesis of a call site via
	cp_parser_parenthesized_expression_list, and use it to build
	a source range for a call.  Use cp_expr in ternary expression.
	(cp_parser_postfix_dot_deref_expression): Convert param from tree to
	cp_expr.  Generate and set a location.
	(cp_parser_parenthesized_expression_list): Add "close_paren_loc"
	out-param, and write back to it.
	(cp_parser_unary_expression): Convert return type from tree to
	cp_expr.  Also for locals "cast_expression" and "expression".
	Generate and use suitable locations for addresses of
	labels and for cast expressions.  Call cp_expr::set_location where
	necessary.  Preserve the locations of negated numeric literals.
	(cp_parser_new_expression): Generate meaningful locations/ranges.
	(cp_parser_cast_expression): Convert return type from tree to
	cp_expr; also for local "expr".  Use the paren location to generate a
	meaningful range for the expression.
	(cp_parser_binary_expression): Convert return type from tree to
	cp_expr; also for local "rhs".  Generate a meaningful location
	for the expression, and use it.  Replace call to
	protected_set_expr_location by converting a build2 to a build2_loc
	and using the location in the call to build_x_binary_op, adding a
	cp_expr::set_location to the latter case.
	(cp_parser_question_colon_clause): Convert param from tree to
	cp_expr; also for local "assignment_expr".  Set the spelling range
	of the expression.
	(cp_parser_assignment_expression): Likewise for return type and
	locals "expr" and "rhs".  Build a meaningful spelling range for
	the expression.  Remove saving of input_location in favor of a
	call to cp_expr::set_location.
	(cp_parser_expression): Convert return type and locals
	"expression" and "assignment_expression" to cp_expr.  Build a
	meaningful spelling range for assignment expressions.
	(cp_parser_constant_expression): Likewise for return type and
	local "expression".
	(cp_parser_builtin_offsetof): Convert return type and local "expr"
	to cp_expr.  Generate suitable locations.
	(cp_parser_lambda_expression): Convert return return type to
	cp_expr.
	(cp_parser_operator_function_id): Likewise.
	(cp_parser_operator): Likewise.  Generate a meaningful range,
	using cp_expr's ctor to return it.
	(cp_parser_template_id): When converting a token to
	CPP_TEMPLATE_ID, update the location.
	(cp_parser_initializer_clause): Convert return type and local
	"initializer" to cp_expr.
	(cp_parser_braced_list): Likewise for return type.  Generate
	suitable locations.
	(cp_parser_lookup_name): Likewise for return type.  Use cp_expr's
	ctor to preserve the location_t of the name.
	(cp_parser_simple_cast_expression): Likewise for return type.
	(cp_parser_functional_cast): Convert return type and local "cast"
	to cp_expr.  Generate suitable locations.
	(cp_parser_objc_expression): Convert return type to cp_expr.k  Generate
	(cp_parser_objc_message_expression): Generate suitable locations.
	(cp_parser_objc_encode_expression): Convert return type to
	cp_expr.  Generate suitable locations.
	(cp_parser_objc_protocol_expression): Generate suitable locations.
	(cp_parser_objc_selector_expression): Generate suitable locations.
	(cp_parser_omp_for_cond): Attempt to use the location
	of "cond" for the binary op.
	(cp_parser_transaction_expression): Issue the tm-not-enabled error
	at the location of the __transaction_foo token, rather than at
	input_location.
	* semantics.c (finish_parenthesized_expr): Convert return type and
	param to cp_expr.  Preserve location.
	(perform_koenig_lookup): Likewise for return type
	and param.
	(finish_increment_expr): Likewise.  Generate suitable locations.
	(finish_unary_op_expr): Likewise for return type and local "result".
	Generate suitable locations.
	(finish_id_expression): Convert return type to cp_expr and use
	cp_expr ctor to preserve location information.
	* typeck.c (build_class_member_access_expr): Convert param to
	cp_expr.
	(finish_class_member_access_expr): Likewise.
	(cp_build_binary_op): Convert a build2 to a build2_loc.
	(build_x_unary_op): Convert param from tree to cp_expr.
	(build_nop): Preserve the location of EXPR.
	(build_c_cast): Provide an overloaded variant that takes a cp_expr
	and returns a cp_expr.
	(build_x_modify_expr): Convert return type from tree to cp_expr.
gcc/testsuite/ChangeLog:
	* g++.dg/cpp0x/nsdmi-template14.C: Move dg-error directive.
	* g++.dg/gomp/loop-1.C: Update dg-error locations.
	* g++.dg/plugin/diagnostic-test-expressions-1.C: New file, adapted
	from gcc.dg/plugin/diagnostic-test-expressions-1.c.
	* g++.dg/plugin/plugin.exp (plugin_test_list): Add the above.
	* g++.dg/template/crash55.C: Update dg-error directives.
	* g++.dg/template/pseudodtor3.C: Update column numbers in dg-error
	directives.
	* g++.dg/template/pr64100.C: Update location of dg-error
	directive.
	* g++.dg/template/ref3.C: Add XFAIL (PR c++/68699).
	* g++.dg/ubsan/pr63956.C: Update dg directives to reflect
	improved location information.
	* g++.dg/warn/pr35635.C (func3): Update location of a
	dg-warning.
	* g++.dg/warn/Wconversion-real-integer2.C: Update location of
	dg-warning; add a dg-message.
	* obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: New file,
	based on objc.dg/plugin/diagnostic-test-expressions-1.m.
	* obj-c++.dg/plugin/plugin.exp: New file, based on
	objc.dg/plugin/plugin.exp.
From-SVN: r231293
Jakub Jelinek [Fri, 4 Dec 2015 18:04:06 +0000 (19:04 +0100)]
 
re PR middle-end/68656 (warning about disabled var-tracking uses odd location info)
	PR c/68656
	* toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
	input_location to inform.
	(process_options): Use warning_at (UNKNOWN_LOCATION instead of
	warning ( and error_at (UNKNOWN_LOCATION instead of error (.
	Pass UNKNOWN_LOCATION instead of input_location to fatal_error.
	* gcc.target/i386/pr65044.c: Expect error on line 0 rather than
	line 1.
	* g++.dg/opt/pr34036.C: Expect warning on line 0 rather than line 1.
	* gcc.dg/tree-ssa/pr23109.c: Likewise.
	* gcc.dg/tree-ssa/recip-5.c: Likewise.
	* gcc.dg/pr33007.c: Likewise.
From-SVN: r231292
Jan Hubicka [Fri, 4 Dec 2015 18:02:26 +0000 (19:02 +0100)]
 
* ipa-inline.c (can_inline_edge_p) Use merged_comdat.
	* cgraphclones.c (cgraph_node::create_clone): Use merged_comdat.
	* cgraph.c (cgraph_node::dump): Dump merged_comdat.
	* ipa-icf.c (sem_function::merge): Drop merged_comdat when merging
	comdat and non-comdat.
	* cgraph.h (cgraph_node): Rename merged to merged_comdat.
	* ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
	and icf_merged.
	* lto-symtab.c (lto_cgraph_replace_node): Update code computing
	merged_comdat.
From-SVN: r231291
Paolo Bonzini [Fri, 4 Dec 2015 17:43:53 +0000 (17:43 +0000)]
 
c-common.c (maybe_warn_shift_overflow): Warn on all overflows if shifting 1 out of the sign bit.
gcc:
2015-12-04  Paolo Bonzini  <bonzini@gnu.org>
	* c-family/c-common.c (maybe_warn_shift_overflow): Warn on all
	overflows if shifting 1 out of the sign bit.
gcc/testsuite:
2015-12-04  Paolo Bonzini  <bonzini@gnu.org>
	* c-c++-common/Wshift-overflow-1.c: Test shifting 1 out of the sign bit.
	* c-c++-common/Wshift-overflow-2.c: Test shifting 1 out of the sign bit.
	* c-c++-common/Wshift-overflow-3.c: Test shifting 1 out of the sign bit.
	* c-c++-common/Wshift-overflow-4.c: Test shifting 1 out of the sign bit.
	* c-c++-common/Wshift-overflow-6.c: Test shifting 1 out of the sign bit.
	* c-c++-common/Wshift-overflow-7.c: Test shifting 1 out of the sign bit.
From-SVN: r231290
Jonathan Wakely [Fri, 4 Dec 2015 17:32:40 +0000 (17:32 +0000)]
 
PR libstdc++/57060 cope with invalid thread IDs
	PR libstdc++/57060
	* include/std/thread (operator==(thread::id, thread::id)): Do not use
	__gthread_equal.
	(operator<(thread::id, thread::id)): Add comment.
	(this_thread::get_id()): Do not use __gthread_self for single-threaded
	programs using glibc.
	* testsuite/30_threads/this_thread/57060.cc: New.
From-SVN: r231289
Segher Boessenkool [Fri, 4 Dec 2015 17:28:54 +0000 (18:28 +0100)]
 
rs6000: Clean up the cstore code a bit
"register_operand" was a bit confusing.  Also some other minor cleanups.
	* (cstore<mode>4_unsigned): Use gpc_reg_operand instead of
	register_operand.  Remove empty constraints.  Use std::swap.
	(cstore_si_as_di, cstore<mode>4_signed_imm,
	cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use
	gpc_reg_operand instead of register_operand.
	(cstore<mode>4 for FP): Use gpc_reg_operand instead of
	register_operand.  Remove empty constraints.
From-SVN: r231287