Commit Graph

138866 Commits

Author SHA1 Message Date
Aldy Hernandez
2702245925 re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
PR bootstrap/66448
	* dwarf2out.c (check_die): Check for common duplicate attributes.
	(add_location_or_const_value_attribute): Do not add duplicate
	attributes.
	(gen_formal_parameter_die): Do not add DW_AT_artificial the second
	time around.
	(gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
	(gen_type_die_with_usage): Call check_die.
	(dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.

From-SVN: r224393
2015-06-11 20:46:46 +00:00
Jason Merrill
1eb231ed3f dwarf2out.c (prune_unused_types): Handle unused top-level limbo dies.
* dwarf2out.c (prune_unused_types): Handle unused top-level limbo
	dies.

From-SVN: r224391
2015-06-11 13:33:40 -04:00
Marek Polacek
2d6f2dce79 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
From-SVN: r224390
2015-06-11 17:18:34 +00:00
Pierre-Marie de Rodat
a0349665f6 Fix misplaced ChangeLog entries
From-SVN: r224387
2015-06-11 16:03:47 +00:00
Eric Botcazou
ca3e6775c3 re PR bootstrap/66252 (bootstrap comparison failures on sparc-linux)
PR bootstrap/66252
	* config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
	* config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
	(*addx_extend_sp32): Fix pasto.
	(*subx_extend): Rename into...
	(*subx_extend_sp32): ...this.
	(*adddi3_extend_sp32): Add earlyclobber.
	(*subdi3_insn_sp32): Likewise.
	(*subdi3_extend_sp32): Likewise.
	(*and_not_di_sp32): Likewise.
	(*or_not_di_sp32): Likewise.
	(*xor_not_di_sp32): Likewise.
	(*negdi2_sp32): Likewise.
	(*one_cmpldi2_sp32): Likewise.

From-SVN: r224384
2015-06-11 15:56:30 +00:00
Paul Thomas
26e46e4b94 re PR fortran/66079 (memory leak with source allocation in internal subprogram)
2015-06-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/66079
	* trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
	function results must be freed and nullified after use. Create
	a temporary to hold the result to prevent duplicate calls.
	* trans-stmt.c (gfc_trans_allocate): Rename temporary variable
	as 'source'. Deallocate allocatable components of non-variable
	'source's.

2015-06-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/66079
	* gfortran.dg/allocatable_scalar_13.f90: New test

From-SVN: r224383
2015-06-11 15:49:32 +00:00
Jason Merrill
133bc698cb re PR c++/66445 (ICE with lambda in stmt expression in a template)
PR c++/66445
	* constexpr.c (potential_constant_expression_1): Handle a
	DECL_EXPR of TYPE_DECL.

From-SVN: r224382
2015-06-11 11:45:08 -04:00
Jason Merrill
acb2970c3b re PR c++/66450 ([C++11][constexpr] Issues when delegating implicit copy constructor in constexpr function)
PR c++/66450
	* constexpr.c (cxx_eval_store_expression): Avoid messing up outer
	ctx->ctor.

From-SVN: r224381
2015-06-11 11:45:01 -04:00
Pierre-Marie de Rodat
881a5e608a Restore DW_AT_abstract_origin for cross-unit call sites
PR debug/66503

gcc/ChangeLog:
	* debug.h (struct gcc_debug_hooks): Add a
	register_main_translation_unit hook.
	* debug.c (do_nothing_debug_hooks): Provide a function for this
	new hook.
	* dbxout.c (dbx_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
	* dwarf2out.c (main_translation_unit): New global variable.
	(dwarf2out_register_main_translation_unit): New function
	implementing the new hook.
	(dwarf2_debug_hooks): Assign
	dwarf2out_register_main_translation_unit to this new hook.
	(dwarf2out_init): Associate any main translation unit to
	comp_unit_die ().
	* c/c-decl.c (pop_scope): Register the main translation unit
	through the new debug hook.
	* cp/decl.c (cxx_init_decl_processing): Likewise.

gcc/ada/ChangeLog:
	* gcc-interface/utils.c (get_global_context): Register the main
	translation unit through the new debug hook.

gcc/fortran/ChangeLog:
	* f95-lang.c (gfc_create_decls): Register the main translation
	unit through the new debug hook.

From-SVN: r224371
2015-06-11 12:40:10 +00:00
Marek Polacek
f13c4673a5 match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
* match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.

	* gcc.dg/fold-xor-3.c: New test.

From-SVN: r224370
2015-06-11 12:37:37 +00:00
Marek Polacek
6e28e5162a * match.pd: Use single_use throughout.
From-SVN: r224368
2015-06-11 10:42:44 +00:00
Kyrylo Tkachov
06b8f7acf3 [ARM] Restrict MAX_CONDITIONAL_EXECUTE when -mrestrict-it is in place
* config/arm/arm.c (arm_option_params_internal): When optimising
	for speed set max_insns_skipped when arm_restrict_it.

	* gcc.target/arm/short-it-ifcvt-1.c: New test.
	* gcc.target/arm/short-it-ifcvt-2.c: Likewise.

From-SVN: r224367
2015-06-11 10:01:11 +00:00
Christian Bruel
41927df025 s/recogniwed/recognized
From-SVN: r224366
2015-06-11 11:06:26 +02:00
Christian Bruel
c84f825ca6 Add ARM/thumb pragma target
PR target/52144
	* config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
	 macros in ...
	(arm_cpu_builtins): New function.
	(arm_pragma_target_parse): Call arm_cpu_builtins.
	* config/arm/arm-protos.h (arm_cpu_builtins): Declare.
	(arm_register_target_pragmas): Likewise.
	* config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
	 Call arm_register_target_pragmas.
	* config/arm/arm-c.c (arm_register_target_pragmas): New function.
	(arm_pragma_target_parse): Likewise.

	PR target/52144
	* gcc.target/arm/pragma_attribute.c: New test.

From-SVN: r224365
2015-06-11 10:51:17 +02:00
GCC Administrator
1e5df99863 Daily bump.
From-SVN: r224363
2015-06-11 00:16:17 +00:00
Kaz Kojima
0fbecceaf0 sh.md (tstsi_t): Add '?' modifier to 'r' alternative of the 2nd operand to fix failures for...
* config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative of
  the 2nd operand to fix failures for gcc.target/sh/pr49263-2.c with -mlra.

From-SVN: r224349
2015-06-10 21:45:37 +00:00
Uros Bizjak
5c8302fa6c mangle-regparm.C (dg-optiond): Add -save-temps.
* g++.dg/abi/mangle-regparm.C (dg-optiond): Add -save-temps.

From-SVN: r224341
2015-06-10 20:28:58 +02:00
Uros Bizjak
ea0cf50228 re PR target/66473 (ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mavx512f)
PR target/66473
	* config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
	to prepare mask operand for AVX512 modes.

testsuite/ChangeLog:

	PR target/66473
	* gcc.target/i386/pr66473.c: New test.

From-SVN: r224340
2015-06-10 20:23:31 +02:00
Michael Meissner
6a116f140f re PR target/66474 (Document the use of %x in powerpc asm statements)
2015-06-10  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/66474
	* doc/md.texi (Machine Constraints): Document that on the PowerPC
	if you use a constraint that targets a VSX register, you must use
	%x<n> in the template.

From-SVN: r224332
2015-06-10 16:51:49 +00:00
Jason Merrill
1a4cd2cd7e re PR c++/66289 ("error: ambiguous template instantiation" with partial specialization defined in terms of alias template)
PR c++/66289
	* cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
	* pt.c (push_template_decl_real): Set it.
	(dependent_alias_template_spec_p): Use it.
	(dependent_type_p_r): Use dependent_alias_template_spec_p.
	(uses_all_template_parms_data, uses_all_template_parms_r)
	(complex_alias_template_p): New.
	(get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.

From-SVN: r224331
2015-06-10 11:17:57 -04:00
Max Filippov
768b666466 xtensa: implement trap pattern
2015-06-10  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
	* config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
	* config/xtensa/xtensa.md (define_attr "type"): New type "trap".
	(define_insn "trap"): New definition.

From-SVN: r224330
2015-06-10 15:07:40 +00:00
Richard Biener
b266b96856 tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ...
2015-06-10  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
	out from ...
	(vect_supported_load_permutation_p): ... here.  Handle
	supportable permutations in reductions.
	* tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
	for vectorizing strided group loads.

From-SVN: r224324
2015-06-10 10:39:31 +00:00
Jakub Jelinek
8ffd51d230 re PR target/66470 (TLS ICE due to ix86_split_long_move)
PR target/66470
	* config/i386/i386.c (ix86_split_long_move): For collisions
	involving direct tls segment refs, move the UNSPEC_TP possibly
	wrapped in ZERO_EXTEND out of the address for lea, to each of
	the memory loads.

	* gcc.dg/tls/pr66470.c: New test.
	* gcc.target/i386/pr66470.c: New test.

From-SVN: r224319
2015-06-10 11:12:53 +02:00
Ramana Radhakrishnan
b209524079 Use dmb ish instead of dmb sy for ARM.
2015-06-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/sync.md (*memory_barrier): Use dmb ish instead of
	dmb sy. Adjust tabs.

From-SVN: r224317
2015-06-10 08:56:07 +00:00
Tom de Vries
6870611266 Fix build for ENABLE_OFFLOADING in expand_omp_target
2015-06-10  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (expand_omp_target): Remove duplicate declaration of node.

From-SVN: r224316
2015-06-10 08:20:50 +00:00
Martin Liska
643e0a3087 Fix BITMAP identifier clash.
PR bootstrap/66471
	* mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
	all enum values in mem_alloc_origin.
	* alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
	name.
	* alloc-pool.h (pool_allocator::pool_allocator): Likewise.
	* bitmap.c (bitmap_register): Likewise.
	(dump_bitmap_statistics): Likewise.
	* ggc-common.c (dump_ggc_loc_statistics): Likewise.
	(ggc_record_overhead): Likewise.
	* hash-map.h: Likewise.
	* hash-set.h: Likewise.
	* hash-table.c (void dump_hash_table_loc_statistics): Likewise.
	* hash-table.h: Likewise.
	* vec.c (vec_prefix::register_overhead): Likewise.
	(vec_prefix::release_overhead): Likewise.
	(dump_vec_loc_statistics): Likewise.

From-SVN: r224315
2015-06-10 07:57:34 +00:00
Christian Bruel
d5524d521e Add ARM/thumb attribute target
PR target/52144

	* config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
	* config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
	(arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
	* config/arm/arm.h (SWITCHABLE_TARGET): Define.
	* config/arm/arm.c (arm_reset_previous_fndecl): New functions.
	(arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
	(arm_valid_target_attribute_p): Likewise.
	(arm_set_current_function, arm_can_inline_p): Likewise.
	(arm_valid_target_attribute_rec): Likewise.
	(arm_previous_fndecl): New variable.
	(TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
	(TARGET_CAN_INLINE_P): Define.
	(arm_asm_trampoline_template): Emit mode.
	(arm_file_start): Don't set unified syntax.
	(arm_declare_function_name): Set unified syntax and mode.
	(arm_option_override): Init target_option_default_node.
	and target_option_current_node.
	* config/arm/arm.md (*call_value_symbol): Set mode when possible.
	(*call_symbol): Likewise.
	* doc/extend.texi: Document ARM/Thumb target attribute.
	* doc/invoke.texi: Likewise.

	* gcc.target/arm/attr_arm.c: New test
	* gcc.target/arm/attr_arm-err.c: New test
	* gcc.target/arm/attr_thumb.c: New test
	* gcc.target/arm/attr_thumb-static.c: New test

From-SVN: r224314
2015-06-10 09:50:59 +02:00
Ramana Radhakrishnan
eb071c6bdc Handle aarch64_guard1.C test
Sorry about missing this hunk in the original submission, was in my tree but I hadn't spotted this as I was playing between the original AArch64 TARGET_RELAXED_ORDER and this patch.

Applied as obvious.

2015-06-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/66200
	PR target/66428
	PR c++/66192
	* g++.dg/abi/aarch64_guard1.C: Adjust test.

From-SVN: r224313
2015-06-10 07:43:31 +00:00
James Greenhalgh
6bc4f75c30 [Patch testsuite obvious] gcc.target/arm/pr65710.c should not unconditionally set -mfloat-abi=soft
gcc/testsuite/

	* gcc.target/arm/pr65710.c: Do not override -mfloat-abi directives
	passed by the testsuite driver.

From-SVN: r224312
2015-06-10 07:41:26 +00:00
Alexandre Oliva
0f9f9784ad Revert "[PR64164] Drop copyrename, use coalescible partition as base when optimizing."
This reverts commit c66acc7cedd89bfd22124caec44b8427c9082dac.

Conflicts:
	gcc/ChangeLog
	gcc/testsuite/ChangeLog

From-SVN: r224310
2015-06-10 00:37:39 +00:00
GCC Administrator
a79b6a3044 Daily bump.
From-SVN: r224309
2015-06-10 00:16:15 +00:00
Matthias Klose
83c1b80e21 Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.
2015-06-09  Matthias Klose  <doko@ubuntu.com>

        * Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.

From-SVN: r224305
2015-06-09 21:34:18 +00:00
Tom de Vries
c2f5769122 Mark offloaded functions as parallelized
2015-06-09  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65460
	* omp-low.c (expand_omp_target): Set parallelized_function on
	cgraph_node for child_fn.

From-SVN: r224303
2015-06-09 21:14:46 +00:00
Tom de Vries
edafad14e1 Mark function parallelized_function before add_new_function
2015-06-09  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
	parallelized_function before add_new_function.

From-SVN: r224302
2015-06-09 21:14:38 +00:00
Andrew MacLeod
e677a9d463 gcc-plugin.h: Move decls to plugin.h and include it.
* gcc-plugin.h: Move decls to plugin.h and include it.
	* plugin.h: Relocate decls from gcc-plugin.h
	* ggc-page.c: Include required header files.
	* passes.c: Likewise.
	* cgraphunit.c: Likewise.

From-SVN: r224293
2015-06-09 17:53:24 +00:00
Jason Merrill
34f42d7bf4 DR 1467 PR c++/51747
DR 1467
	PR c++/51747
	* typeck2.c (digest_init_r): Replace previous change with
	gcc_unreachable.

From-SVN: r224289
2015-06-09 12:56:12 -04:00
Tom de Vries
86b76c209b Handle location in expand_ifn_va_arg_1
2015-06-09  Tom de Vries  <tom@codesourcery.com>

	* tree-stdarg.c (expand_ifn_va_arg_1): Handle location.

	* gcc.target/i386/vararg-loc.c: New test.

From-SVN: r224288
2015-06-09 15:46:30 +00:00
Jason Merrill
5af874fb65 re PR c++/66387 (ICE in make_decl_rtl with lambda)
PR c++/66387
	* semantics.c (process_outer_var_ref): Make sure the value is
	actually constant before returning it.
	* typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
	array.

From-SVN: r224287
2015-06-09 11:27:01 -04:00
Paolo Carlini
ebcf592c84 re PR c++/65815 (brace elision doesn't work in NSDMI)
/cp
2015-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65815
	* typeck2.c (digest_nsdmi_init): On aggregates use reshape_init.
	* init.c (expand_default_init): Likewise.

/testsuite
2015-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65815
	* g++.dg/cpp0x/nsdmi-aggr1.C: New.
	* g++.dg/cpp0x/mem-init-aggr1.C: Likewise.

From-SVN: r224286
2015-06-09 14:59:08 +00:00
Jason Merrill
a0e4b207de re PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
PR bootstrap/66448
	* toplev.c (check_global_declaration): Don't warn about a clone.

From-SVN: r224285
2015-06-09 10:51:30 -04:00
Marek Polacek
f2e609c3e1 re PR tree-optimization/66299 (more optimize opportunity)
PR tree-optimization/66299
	* match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
	((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
	patterns.

	* gcc.dg/pr66299-1.c: New test.
	* gcc.dg/pr66299-2.c: New test.
	* gcc.dg/pr66299-3.c: New test.

From-SVN: r224283
2015-06-09 14:24:04 +00:00
Jason Merrill
6a9263f7ef re PR c++/66383 (ICE in gimplify_expr on this passed in inline initialization)
PR c++/66383
	* tree.c (replace_placeholders_r): Handle placeholders for an
	outer object.
	* typeck2.c (store_init_value): Only replace_placeholders for
	objects of class type.

From-SVN: r224282
2015-06-09 10:13:22 -04:00
Richard Biener
fe2bef7107 tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
2015-06-09  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
	(vect_analyze_slp_instance): Instead do not falsely drop
	load permutations.

From-SVN: r224281
2015-06-09 14:13:09 +00:00
James Greenhalgh
12d03fc7ff [Patch testsuite obvious] g++.dg/ext/pr57735.C should not run if the
testsuite is explicitly passing -mfloat-abi=hard

gcc/testsuite/

2015-06-09  James Greenhalgh  <james.greenhalgh@arm.com>

	* g++.dg/ext/pr57735.C: Do not override -mfloat-abi directives
	passed by the testsuite driver.

From-SVN: r224280
2015-06-09 13:06:14 +00:00
Richard Biener
4ab1e111ef re PR tree-optimization/66423 (a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a)
2015-06-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/66423
	* match.pd: Handle A % (unsigned)(1 << B).

	* gcc.dg/fold-modpow2.c: New testcase.

From-SVN: r224279
2015-06-09 12:31:43 +00:00
Aldy Hernandez
9aa5f7ec0c varasm.c (output_object_block_htab): Remove.
* varasm.c (output_object_block_htab): Remove.
	(output_object_block_compare): New.
	(output_object_blocks): Sort named object_blocks before outputting
	them.

From-SVN: r224274
2015-06-09 09:43:07 +00:00
Jonathan Wakely
8602ca0a2d re PR libstdc++/66030 ([5.1.0] std::codecvt_byname missing from libstdc++ DLL)
PR libstdc++/66030
	* config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
	for mingw32.

From-SVN: r224273
2015-06-09 09:50:00 +01:00
Eric Botcazou
ed51d0c5e0 misc.c: Remove duplicate include directives.
* gcc-interface/misc.c: Remove duplicate include directives.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.

From-SVN: r224272
2015-06-09 08:33:07 +00:00
Richard Biener
5b5826c480 re PR tree-optimization/66419 (FAIL: gcc.target/aarch64/aapcs64/va_arg-6.c execution, -O3 -g)
2015-06-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66419
	* tree-vect-slp.c (vect_supported_load_permutation_p): Properly
	consider GROUP_GAP when detecting a perfect subchain.

	* gcc.dg/vect/bb-slp-37.c: New testcase.

From-SVN: r224271
2015-06-09 08:22:20 +00:00
Nick Clifton
0a210a19b0 rl78.c (rl78_select_section): When -mes0 is active place read only data in the .frodata section.
* config/rl78/rl78.c (rl78_select_section): When -mes0 is active
	place read only data in the .frodata section.

From-SVN: r224270
2015-06-09 08:17:06 +00:00