gcc.git
9 years ago* match.pd: Use single_use throughout.
Marek Polacek [Thu, 11 Jun 2015 10:42:44 +0000 (10:42 +0000)]
* match.pd: Use single_use throughout.

From-SVN: r224368

9 years ago[ARM] Restrict MAX_CONDITIONAL_EXECUTE when -mrestrict-it is in place
Kyrylo Tkachov [Thu, 11 Jun 2015 10:01:11 +0000 (10:01 +0000)]
[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

9 years agos/recogniwed/recognized
Christian Bruel [Thu, 11 Jun 2015 09:06:26 +0000 (11:06 +0200)]
s/recogniwed/recognized

From-SVN: r224366

9 years agoAdd ARM/thumb pragma target
Christian Bruel [Thu, 11 Jun 2015 08:51:17 +0000 (10:51 +0200)]
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

9 years agoDaily bump.
GCC Administrator [Thu, 11 Jun 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224363

9 years agosh.md (tstsi_t): Add '?' modifier to 'r' alternative of the 2nd operand to fix failur...
Kaz Kojima [Wed, 10 Jun 2015 21:45:37 +0000 (21:45 +0000)]
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

9 years agomangle-regparm.C (dg-optiond): Add -save-temps.
Uros Bizjak [Wed, 10 Jun 2015 18:28:58 +0000 (20:28 +0200)]
mangle-regparm.C (dg-optiond): Add -save-temps.

* g++.dg/abi/mangle-regparm.C (dg-optiond): Add -save-temps.

From-SVN: r224341

9 years agore PR target/66473 (ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with...
Uros Bizjak [Wed, 10 Jun 2015 18:23:31 +0000 (20:23 +0200)]
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

9 years agore PR target/66474 (Document the use of %x in powerpc asm statements)
Michael Meissner [Wed, 10 Jun 2015 16:51:49 +0000 (16:51 +0000)]
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

9 years agore PR c++/66289 ("error: ambiguous template instantiation" with partial specializatio...
Jason Merrill [Wed, 10 Jun 2015 15:17:57 +0000 (11:17 -0400)]
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

9 years agoxtensa: implement trap pattern
Max Filippov [Wed, 10 Jun 2015 15:07:40 +0000 (15:07 +0000)]
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

9 years agotree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split out from ...
Richard Biener [Wed, 10 Jun 2015 10:39:31 +0000 (10:39 +0000)]
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

9 years agore PR target/66470 (TLS ICE due to ix86_split_long_move)
Jakub Jelinek [Wed, 10 Jun 2015 09:12:53 +0000 (11:12 +0200)]
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

9 years agoUse dmb ish instead of dmb sy for ARM.
Ramana Radhakrishnan [Wed, 10 Jun 2015 08:56:07 +0000 (08:56 +0000)]
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

9 years agoFix build for ENABLE_OFFLOADING in expand_omp_target
Tom de Vries [Wed, 10 Jun 2015 08:20:50 +0000 (08:20 +0000)]
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

9 years agoFix BITMAP identifier clash.
Martin Liska [Wed, 10 Jun 2015 07:57:34 +0000 (09:57 +0200)]
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

9 years agoAdd ARM/thumb attribute target
Christian Bruel [Wed, 10 Jun 2015 07:50:59 +0000 (09:50 +0200)]
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

9 years agoHandle aarch64_guard1.C test
Ramana Radhakrishnan [Wed, 10 Jun 2015 07:43:31 +0000 (07:43 +0000)]
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

9 years ago[Patch testsuite obvious] gcc.target/arm/pr65710.c should not unconditionally set...
James Greenhalgh [Wed, 10 Jun 2015 07:41:26 +0000 (07:41 +0000)]
[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

9 years agoRevert "[PR64164] Drop copyrename, use coalescible partition as base when optimizing."
Alexandre Oliva [Wed, 10 Jun 2015 00:37:39 +0000 (00:37 +0000)]
Revert "[PR64164] Drop copyrename, use coalescible partition as base when optimizing."

This reverts commit c66acc7cedd89bfd22124caec44b8427c9082dac.

Conflicts:
gcc/ChangeLog
gcc/testsuite/ChangeLog

From-SVN: r224310

9 years agoDaily bump.
GCC Administrator [Wed, 10 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224309

9 years agoMake-lang.in (jit.install-common): Install headers using INSTALL_DATA.
Matthias Klose [Tue, 9 Jun 2015 21:34:18 +0000 (21:34 +0000)]
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

9 years agoMark offloaded functions as parallelized
Tom de Vries [Tue, 9 Jun 2015 21:14:46 +0000 (21:14 +0000)]
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

9 years agoMark function parallelized_function before add_new_function
Tom de Vries [Tue, 9 Jun 2015 21:14:38 +0000 (21:14 +0000)]
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

9 years agogcc-plugin.h: Move decls to plugin.h and include it.
Andrew MacLeod [Tue, 9 Jun 2015 17:53:24 +0000 (17:53 +0000)]
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

9 years agoDR 1467 PR c++/51747
Jason Merrill [Tue, 9 Jun 2015 16:56:12 +0000 (12:56 -0400)]
DR 1467 PR c++/51747

DR 1467
PR c++/51747
* typeck2.c (digest_init_r): Replace previous change with
gcc_unreachable.

From-SVN: r224289

9 years agoHandle location in expand_ifn_va_arg_1
Tom de Vries [Tue, 9 Jun 2015 15:46:30 +0000 (15:46 +0000)]
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

9 years agore PR c++/66387 (ICE in make_decl_rtl with lambda)
Jason Merrill [Tue, 9 Jun 2015 15:27:01 +0000 (11:27 -0400)]
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

9 years agore PR c++/65815 (brace elision doesn't work in NSDMI)
Paolo Carlini [Tue, 9 Jun 2015 14:59:08 +0000 (14:59 +0000)]
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

9 years agore PR bootstrap/66448 (Bootstrap fails on darwin after r224161)
Jason Merrill [Tue, 9 Jun 2015 14:51:30 +0000 (10:51 -0400)]
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

9 years agore PR tree-optimization/66299 (more optimize opportunity)
Marek Polacek [Tue, 9 Jun 2015 14:24:04 +0000 (14:24 +0000)]
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

9 years agore PR c++/66383 (ICE in gimplify_expr on this passed in inline initialization)
Jason Merrill [Tue, 9 Jun 2015 14:13:22 +0000 (10:13 -0400)]
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

9 years agotree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
Richard Biener [Tue, 9 Jun 2015 14:13:09 +0000 (14:13 +0000)]
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

9 years ago[Patch testsuite obvious] g++.dg/ext/pr57735.C should not run if the
James Greenhalgh [Tue, 9 Jun 2015 13:06:14 +0000 (13:06 +0000)]
[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

9 years agore PR tree-optimization/66423 (a % (1 << b) no longer gets folded to a & (1 << b...
Richard Biener [Tue, 9 Jun 2015 12:31:43 +0000 (12:31 +0000)]
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

9 years agovarasm.c (output_object_block_htab): Remove.
Aldy Hernandez [Tue, 9 Jun 2015 09:43:07 +0000 (09:43 +0000)]
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

9 years agore PR libstdc++/66030 ([5.1.0] std::codecvt_byname missing from libstdc++ DLL)
Jonathan Wakely [Tue, 9 Jun 2015 08:50:00 +0000 (09:50 +0100)]
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

9 years agomisc.c: Remove duplicate include directives.
Eric Botcazou [Tue, 9 Jun 2015 08:33:07 +0000 (08:33 +0000)]
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

9 years agore PR tree-optimization/66419 (FAIL: gcc.target/aarch64/aapcs64/va_arg-6.c execution...
Richard Biener [Tue, 9 Jun 2015 08:22:20 +0000 (08:22 +0000)]
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

9 years agorl78.c (rl78_select_section): When -mes0 is active place read only data in the .froda...
Nick Clifton [Tue, 9 Jun 2015 08:17:06 +0000 (08:17 +0000)]
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

9 years ago[GCC, ARM] armv8 linux toolchain asan testcase fail due to stl missing conditional...
Shiva Chen [Tue, 9 Jun 2015 08:15:23 +0000 (08:15 +0000)]
[GCC, ARM] armv8 linux toolchain asan testcase fail due to stl missing conditional code

On behalf of Shiva Chen

2015-06-09  Shiva Chen  <shiva0217@gmail.com>

* sync.md (atomic_load<mode>): Add conditional code for lda/ldr
(atomic_store<mode>): Likewise.

2015-06-09  Shiva Chen  <shiva0217@gmail.com>

* gcc.target/arm/stl-cond.c: New test.

From-SVN: r224269

9 years agocfgloop.c (get_loop_body_in_bfs_order): Fix assert.
Richard Biener [Tue, 9 Jun 2015 08:09:00 +0000 (08:09 +0000)]
cfgloop.c (get_loop_body_in_bfs_order): Fix assert.

2015-06-09  Richard Biener  <rguenther@suse.de>

* cfgloop.c (get_loop_body_in_bfs_order): Fix assert.

From-SVN: r224268

9 years agore PR tree-optimization/66413 (ICE at -Os and above with -g enabled on x86_64-linux...
Richard Biener [Tue, 9 Jun 2015 08:06:17 +0000 (08:06 +0000)]
re PR tree-optimization/66413 (ICE at -Os and above with -g enabled on x86_64-linux-gnu)

2015-06-09  Richard Biener  <rguenther@suse.de>

PR middle-end/66413
* tree-inline.c (insert_init_debug_bind): Unshare value.

* gcc.dg/torture/pr66413.c: New testcase.

From-SVN: r224267

9 years agore PR tree-optimization/66396 (FAIL: gcc.dg/graphite/run-id-pr47593.c execution test)
Richard Biener [Tue, 9 Jun 2015 07:51:24 +0000 (07:51 +0000)]
re PR tree-optimization/66396 (FAIL: gcc.dg/graphite/run-id-pr47593.c execution test)

2015-06-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66396
* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
Rename virtual operands.

From-SVN: r224266

9 years agoFix gimple_seq_nondebug_singleton_p
Tom de Vries [Tue, 9 Jun 2015 05:52:52 +0000 (05:52 +0000)]
Fix gimple_seq_nondebug_singleton_p

2015-06-09  Tom de Vries  <tom@codesourcery.com>

* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
always return false.

From-SVN: r224263

9 years ago[PR64164] Drop copyrename, use coalescible partition as base when optimizing.
Alexandre Oliva [Tue, 9 Jun 2015 05:05:34 +0000 (05:05 +0000)]
[PR64164] Drop copyrename, use coalescible partition as base when optimizing.

for  gcc/ChangeLog

PR rtl-optimization/64164
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
* tree-ssa-copyrename.c: Removed.
* opts.c (default_options_table): Drop -ftree-copyrename.  Add
-ftree-coalesce-vars.
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
* common.opt (ftree-copyrename): Ignore.
(ftree-coalesce-inlined-vars): Likewise.
* doc/invoke.texi: Remove the ignored options above.
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
* tree-ssa-coalesce.h: ... here.
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
headers required by it.
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
across variables when flag_tree_coalesce_vars.  Check register
use and promoted modes to allow coalescing.  Moved to
tree-ssa-coalesce.c.
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
with its member functions to tree-ssa-coalesce.c.
(var_map_base_init): Likewise.  Renamed to
compute_samebase_partition_bases.
(partition_view_normal): Drop want_bases parameter.
(partition_view_bitmap): Likewise.
* tree-ssa-live.h: Adjust declarations.
* tree-ssa-coalesce.c: Include explow.h.
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
default defs at the entry point.
(dump_part_var_map): New.
(compute_optimized_partition_bases): New, called by...
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
of compute_samebase_partition_bases.  Adjust.
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
* cfgexpand.c (leader_merge): New.
(get_rtl_for_parm_ssa_default_def): New.
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
vars.  Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs.  Drop
redundant MEM attr setting.
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs.  Renamed
from...
(expand_one_stack_var): ... this.  New wrapper to check and
skip already expanded SSA partitions.
(record_alignment_for_reg_var): New, factored out of...
(expand_one_var): ... this.
(expand_one_ssa_partition): New.
(adjust_one_expanded_partition_var): New.
(expand_one_register_var): Check and skip already expanded SSA
partitions.
(expand_used_vars): Don't create DECLs for anonymous SSA
names.  Expand all SSA partitions, then adjust all SSA names.
(pass::execute): Replace the loops that set
SA.partition_to_pseudo from partition leaders and cleared
DECL_RTL for multi-location variables, and that which used to
rename vars and set attrs, with one that clears DECL_RTL and
checks that PARMs and RESULTs default_defs match DECL_RTL.
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
* explow.c (promote_ssa_mode): New.
* explow.h (promote_ssa_mode): Declare.
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
* function.c: Include cfgexpand.h.
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
(use_register_for_parm_decl): Wrapper for the above to
special-case the result_ptr.
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
multiple locations.
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
for rtl_for_parm.  For SSA-assigned parms, zero stack_parm.
(assign_parm_setup_block): Prefer SSA-assigned location.
(assign_parm_setup_reg): Likewise.  Use entry_parm for equiv
if stack_parm is NULL.
(assign_parm_setup_stack): Prefer SSA-assigned location.
(assign_parms): Maybe reset DECL_RTL of params.  Adjust stack
rtl before testing for pointer bounds.  Special-case result_ptr.
(expand_function_start): Maybe reset DECL_RTL of result.
Prefer SSA-assigned location for result and static chain.
Factor out DECL_RESULT and SET_DECL_RTL.
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
anonymous SSA names.  Use promote_ssa_mode.
(get_temp_reg): Likewise.
(remove_ssa_form): Adjust.
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
and get its reg_usage for reg invalidation.
(compute_bb_dataflow): Pass it insn.
(emit_notes_in_bb): Likewise.
* tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
fail assert on conversion between unsigned types.

for  gcc/testsuite/ChangeLog

* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
* gcc.dg/ssp-1.c: Make counter a register.
* gcc.dg/ssp-2.c: Likewise.
* gcc.dg/torture/parm-coalesce.c: New.

From-SVN: r224262

9 years agoReset inlined debug variables at the end of the inlined function
Alexandre Oliva [Tue, 9 Jun 2015 05:05:12 +0000 (05:05 +0000)]
Reset inlined debug variables at the end of the inlined function

for  gcc/ChangeLog

PR debug/58315
* tree-inline.c (reset_debug_binding): New.
(reset_debug_bindings): Likewise.
(expand_call_inline): Call it.

From-SVN: r224261

9 years agoDaily bump.
GCC Administrator [Tue, 9 Jun 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224258

9 years agobind_c-2b_0.f90: New testcase.
Jan Hubicka [Mon, 8 Jun 2015 22:37:12 +0000 (22:37 +0000)]
bind_c-2b_0.f90: New testcase.

* gfortran.dg/lto/bind_c-2b_0.f90: New testcase.
* gfortran.dg/lto/bind_c-2b_1.c: New testcase.

From-SVN: r224253

9 years agolto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
Jan Hubicka [Mon, 8 Jun 2015 22:24:57 +0000 (00:24 +0200)]
lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.

* lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
* tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
TYPE_STRING_FLAG.

* gfortran.dg/lto/bind_c-2b_0.f90: New testcase
* gfortran.dg/lto/bind_c-2b_1.c: New testcase

From-SVN: r224252

9 years agolto-streamer-out.c (lto_output_location): Stream reserved locations correctly.
Jan Hubicka [Mon, 8 Jun 2015 22:10:35 +0000 (00:10 +0200)]
lto-streamer-out.c (lto_output_location): Stream reserved locations correctly.

* lto-streamer-out.c (lto_output_location): Stream
reserved locations correctly.
* lto-streamer-in.c (lto_output_location): Likewise.

From-SVN: r224251

9 years agocoretypes.h: Include hash-table.h and hash-set.h for host files.
Andrew MacLeod [Mon, 8 Jun 2015 21:06:50 +0000 (21:06 +0000)]
coretypes.h: Include hash-table.h and hash-set.h for host files.

2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* coretypes.h: Include hash-table.h and hash-set.h for host files.
* ggc.h: Don't include statistics.h>
* hash-map.h: Remove all includes.
* hash-set.h: Likewise.
* hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
the include list. Remove <new>.
* inchash.h: Remove all includes.
* mem-stats.h: Likewise.
* vec.h: No special processing for generators or ggc.
* alias.c : Adjust include files.
* alloc-pool.c : Likewise.
* alloc-pool.h : Likewise.
* asan.c : Likewise.
* attribs.c : Likewise.
* auto-inc-dec.c : Likewise.
* auto-profile.c : Likewise.
* bb-reorder.c : Likewise.
* bitmap.c : Likewise.
* bitmap.h : Likewise.
* bt-load.c : Likewise.
* builtins.c : Likewise.
* caller-save.c : Likewise.
* calls.c : Likewise.
* ccmp.c : Likewise.
* cfg.c : Likewise.
* cfganal.c : Likewise.
* cfgbuild.c : Likewise.
* cfgcleanup.c : Likewise.
* cfgexpand.c : Likewise.
* cfghooks.c : Likewise.
* cfgloop.c : Likewise.
* cfgloop.h : Likewise.
* cfgloopanal.c : Likewise.
* cfgloopmanip.c : Likewise.
* cfgrtl.c : Likewise.
* cgraph.c : Likewise.
* cgraphbuild.c : Likewise.
* cgraphclones.c : Likewise.
* cgraphunit.c : Likewise.
* cilk-common.c : Likewise.
* combine-stack-adj.c : Likewise.
* combine.c : Likewise.
* compare-elim.c : Likewise.
* context.c : Likewise.
* convert.c : Likewise.
* coverage.c : Likewise.
* cppbuiltin.c : Likewise.
* cprop.c : Likewise.
* cse.c : Likewise.
* cselib.c : Likewise.
* data-streamer-in.c : Likewise.
* data-streamer-out.c : Likewise.
* data-streamer.c : Likewise.
* data-streamer.h : Likewise.
* dbxout.c : Likewise.
* dce.c : Likewise.
* ddg.c : Likewise.
* debug.c : Likewise.
* df-core.c : Likewise.
* df-problems.c : Likewise.
* df-scan.c : Likewise.
* df.h : Likewise.
* dfp.c : Likewise.
* dojump.c : Likewise.
* dominance.c : Likewise.
* domwalk.c : Likewise.
* double-int.c : Likewise.
* dse.c : Likewise.
* dumpfile.c : Likewise.
* dwarf2asm.c : Likewise.
* dwarf2cfi.c : Likewise.
* dwarf2out.c : Likewise.
* emit-rtl.c : Likewise.
* et-forest.c : Likewise.
* except.c : Likewise.
* except.h : Likewise.
* explow.c : Likewise.
* expmed.c : Likewise.
* expr.c : Likewise.
* final.c : Likewise.
* fixed-value.c : Likewise.
* fold-const.c : Likewise.
* function.c : Likewise.
* fwprop.c : Likewise.
* gcc-plugin.h : Likewise.
* gcc.c : Likewise.
* gcse-common.c : Likewise.
* gcse.c : Likewise.
* genattrtab.c : Likewise.
* genautomata.c : Likewise.
* genconditions.c : Likewise.
* genemit.c : Likewise.
* generic-match-head.c : Likewise.
* genextract.c : Likewise.
* gengtype-state.c : Likewise.
* gengtype.c : Likewise.
* genhooks.c : Likewise.
* genmatch.c : Likewise.
* genmodes.c : Likewise.
* genrecog.c : Likewise.
* gensupport.c : Likewise.
* ggc-common.c : Likewise.
* ggc-internal.h : Likewise.
* ggc-none.c : Likewise.
* ggc-page.c : Likewise.
* gimple-builder.c : Likewise.
* gimple-expr.c : Likewise.
* gimple-fold.c : Likewise.
* gimple-iterator.c : Likewise.
* gimple-low.c : Likewise.
* gimple-match-head.c : Likewise.
* gimple-pretty-print.c : Likewise.
* gimple-ssa-isolate-paths.c : Likewise.
* gimple-ssa-strength-reduction.c : Likewise.
* gimple-ssa.h : Likewise.
* gimple-streamer-in.c : Likewise.
* gimple-streamer-out.c : Likewise.
* gimple-streamer.h : Likewise.
* gimple-walk.c : Likewise.
* gimple.c : Likewise.
* gimplify-me.c : Likewise.
* gimplify.c : Likewise.
* godump.c : Likewise.
* graph.c : Likewise.
* graphds.c : Likewise.
* graphite-blocking.c : Likewise.
* graphite-dependences.c : Likewise.
* graphite-interchange.c : Likewise.
* graphite-isl-ast-to-gimple.c : Likewise.
* graphite-optimize-isl.c : Likewise.
* graphite-poly.c : Likewise.
* graphite-scop-detection.c : Likewise.
* graphite-sese-to-poly.c : Likewise.
* graphite.c : Likewise.
* haifa-sched.c : Likewise.
* hard-reg-set.h : Likewise.
* hw-doloop.c : Likewise.
* ifcvt.c : Likewise.
* inchash.c : Likewise.
* incpath.c : Likewise.
* init-regs.c : Likewise.
* input.c : Likewise.
* internal-fn.c : Likewise.
* ipa-chkp.c : Likewise.
* ipa-comdats.c : Likewise.
* ipa-cp.c : Likewise.
* ipa-devirt.c : Likewise.
* ipa-icf-gimple.c : Likewise.
* ipa-icf.c : Likewise.
* ipa-inline-analysis.c : Likewise.
* ipa-inline-transform.c : Likewise.
* ipa-inline.c : Likewise.
* ipa-polymorphic-call.c : Likewise.
* ipa-profile.c : Likewise.
* ipa-prop.c : Likewise.
* ipa-pure-const.c : Likewise.
* ipa-ref.c : Likewise.
* ipa-reference.c : Likewise.
* ipa-split.c : Likewise.
* ipa-utils.c : Likewise.
* ipa-visibility.c : Likewise.
* ipa.c : Likewise.
* ira-build.c : Likewise.
* ira-color.c : Likewise.
* ira-conflicts.c : Likewise.
* ira-costs.c : Likewise.
* ira-emit.c : Likewise.
* ira-lives.c : Likewise.
* ira.c : Likewise.
* jump.c : Likewise.
* langhooks.c : Likewise.
* lcm.c : Likewise.
* libfuncs.h : Likewise.
* lists.c : Likewise.
* loop-doloop.c : Likewise.
* loop-init.c : Likewise.
* loop-invariant.c : Likewise.
* loop-iv.c : Likewise.
* loop-unroll.c : Likewise.
* lower-subreg.c : Likewise.
* lra-assigns.c : Likewise.
* lra-coalesce.c : Likewise.
* lra-constraints.c : Likewise.
* lra-eliminations.c : Likewise.
* lra-lives.c : Likewise.
* lra-remat.c : Likewise.
* lra-spills.c : Likewise.
* lra.c : Likewise.
* lto-cgraph.c : Likewise.
* lto-compress.c : Likewise.
* lto-opts.c : Likewise.
* lto-section-in.c : Likewise.
* lto-section-out.c : Likewise.
* lto-streamer-in.c : Likewise.
* lto-streamer-out.c : Likewise.
* lto-streamer.c : Likewise.
* lto-streamer.h : Likewise.
* mcf.c : Likewise.
* mode-switching.c : Likewise.
* modulo-sched.c : Likewise.
* omega.c : Likewise.
* omp-low.c : Likewise.
* optabs.c : Likewise.
* opts-global.c : Likewise.
* opts.h : Likewise.
* passes.c : Likewise.
* plugin.c : Likewise.
* postreload-gcse.c : Likewise.
* postreload.c : Likewise.
* predict.c : Likewise.
* print-rtl.c : Likewise.
* print-tree.c : Likewise.
* profile.c : Likewise.
* read-md.c : Likewise.
* read-md.h : Likewise.
* read-rtl.c : Likewise.
* real.c : Likewise.
* realmpfr.c : Likewise.
* recog.c : Likewise.
* ree.c : Likewise.
* reg-stack.c : Likewise.
* regcprop.c : Likewise.
* reginfo.c : Likewise.
* regrename.c : Likewise.
* regstat.c : Likewise.
* reload.c : Likewise.
* reload1.c : Likewise.
* reorg.c : Likewise.
* resource.c : Likewise.
* rtl-chkp.c : Likewise.
* rtl.c : Likewise.
* rtl.h : Likewise.
* rtlanal.c : Likewise.
* rtlhash.c : Likewise.
* rtlhash.h : Likewise.
* rtlhooks.c : Likewise.
* sanopt.c : Likewise.
* sched-deps.c : Likewise.
* sched-ebb.c : Likewise.
* sched-rgn.c : Likewise.
* sched-vis.c : Likewise.
* sdbout.c : Likewise.
* sel-sched-dump.c : Likewise.
* sel-sched-ir.c : Likewise.
* sel-sched-ir.h : Likewise.
* sel-sched.c : Likewise.
* sese.c : Likewise.
* shrink-wrap.c : Likewise.
* shrink-wrap.h : Likewise.
* simplify-rtx.c : Likewise.
* stack-ptr-mod.c : Likewise.
* statistics.c : Likewise.
* stmt.c : Likewise.
* stor-layout.c : Likewise.
* store-motion.c : Likewise.
* stringpool.c : Likewise.
* symtab.c : Likewise.
* target-globals.c : Likewise.
* targhooks.c : Likewise.
* tlink.c : Likewise.
* toplev.c : Likewise.
* tracer.c : Likewise.
* trans-mem.c : Likewise.
* tree-affine.c : Likewise.
* tree-affine.h : Likewise.
* tree-browser.c : Likewise.
* tree-call-cdce.c : Likewise.
* tree-cfg.c : Likewise.
* tree-cfgcleanup.c : Likewise.
* tree-chkp-opt.c : Likewise.
* tree-chkp.c : Likewise.
* tree-chrec.c : Likewise.
* tree-complex.c : Likewise.
* tree-data-ref.c : Likewise.
* tree-dfa.c : Likewise.
* tree-diagnostic.c : Likewise.
* tree-dump.c : Likewise.
* tree-eh.c : Likewise.
* tree-eh.h : Likewise.
* tree-emutls.c : Likewise.
* tree-hasher.h : Likewise.
* tree-if-conv.c : Likewise.
* tree-inline.c : Likewise.
* tree-inline.h : Likewise.
* tree-into-ssa.c : Likewise.
* tree-iterator.c : Likewise.
* tree-loop-distribution.c : Likewise.
* tree-nested.c : Likewise.
* tree-nrv.c : Likewise.
* tree-object-size.c : Likewise.
* tree-outof-ssa.c : Likewise.
* tree-parloops.c : Likewise.
* tree-phinodes.c : Likewise.
* tree-predcom.c : Likewise.
* tree-pretty-print.c : Likewise.
* tree-profile.c : Likewise.
* tree-scalar-evolution.c : Likewise.
* tree-sra.c : Likewise.
* tree-ssa-address.c : Likewise.
* tree-ssa-alias.c : Likewise.
* tree-ssa-ccp.c : Likewise.
* tree-ssa-coalesce.c : Likewise.
* tree-ssa-copy.c : Likewise.
* tree-ssa-copyrename.c : Likewise.
* tree-ssa-dce.c : Likewise.
* tree-ssa-dom.c : Likewise.
* tree-ssa-dse.c : Likewise.
* tree-ssa-forwprop.c : Likewise.
* tree-ssa-ifcombine.c : Likewise.
* tree-ssa-live.c : Likewise.
* tree-ssa-loop-ch.c : Likewise.
* tree-ssa-loop-im.c : Likewise.
* tree-ssa-loop-ivcanon.c : Likewise.
* tree-ssa-loop-ivopts.c : Likewise.
* tree-ssa-loop-manip.c : Likewise.
* tree-ssa-loop-niter.c : Likewise.
* tree-ssa-loop-prefetch.c : Likewise.
* tree-ssa-loop-unswitch.c : Likewise.
* tree-ssa-loop.c : Likewise.
* tree-ssa-math-opts.c : Likewise.
* tree-ssa-operands.c : Likewise.
* tree-ssa-phiopt.c : Likewise.
* tree-ssa-phiprop.c : Likewise.
* tree-ssa-pre.c : Likewise.
* tree-ssa-propagate.c : Likewise.
* tree-ssa-reassoc.c : Likewise.
* tree-ssa-sccvn.c : Likewise.
* tree-ssa-scopedtables.c : Likewise.
* tree-ssa-sink.c : Likewise.
* tree-ssa-strlen.c : Likewise.
* tree-ssa-structalias.c : Likewise.
* tree-ssa-tail-merge.c : Likewise.
* tree-ssa-ter.c : Likewise.
* tree-ssa-threadedge.c : Likewise.
* tree-ssa-threadupdate.c : Likewise.
* tree-ssa-uncprop.c : Likewise.
* tree-ssa-uninit.c : Likewise.
* tree-ssa.c : Likewise.
* tree-ssanames.c : Likewise.
* tree-stdarg.c : Likewise.
* tree-streamer-in.c : Likewise.
* tree-streamer-out.c : Likewise.
* tree-streamer.c : Likewise.
* tree-streamer.h : Likewise.
* tree-switch-conversion.c : Likewise.
* tree-tailcall.c : Likewise.
* tree-vect-data-refs.c : Likewise.
* tree-vect-generic.c : Likewise.
* tree-vect-loop-manip.c : Likewise.
* tree-vect-loop.c : Likewise.
* tree-vect-patterns.c : Likewise.
* tree-vect-slp.c : Likewise.
* tree-vect-stmts.c : Likewise.
* tree-vectorizer.c : Likewise.
* tree-vectorizer.h : Likewise.
* tree-vrp.c : Likewise.
* tree.c : Likewise.
* tsan.c : Likewise.
* ubsan.c : Likewise.
* valtrack.c : Likewise.
* valtrack.h : Likewise.
* value-prof.c : Likewise.
* var-tracking.c : Likewise.
* varasm.c : Likewise.
* varpool.c : Likewise.
* vec.c: Likewise.
* vmsdbgout.c : Likewise.
* vtable-verify.c : Likewise.
* vtable-verify.h : Likewise.
* web.c : Likewise.
* wide-int.cc : Likewise.
* xcoffout.c : Likewise.
* config/aarch64/aarch64-builtins.c : Likewise.
* config/aarch64/aarch64.c : Likewise.
* config/aarch64/cortex-a57-fma-steering.c : Likewise.
* config/alpha/alpha.c : Likewise.
* config/arc/arc.c : Likewise.
* config/arm/aarch-common.c : Likewise.
* config/arm/arm-builtins.c : Likewise.
* config/arm/arm-c.c : Likewise.
* config/arm/arm.c : Likewise.
* config/avr/avr-c.c : Likewise.
* config/avr/avr-log.c : Likewise.
* config/avr/avr.c : Likewise.
* config/bfin/bfin.c : Likewise.
* config/c6x/c6x.c : Likewise.
* config/cr16/cr16.c : Likewise.
* config/cris/cris.c : Likewise.
* config/darwin-c.c : Likewise.
* config/darwin.c : Likewise.
* config/default-c.c : Likewise.
* config/epiphany/epiphany.c : Likewise.
* config/epiphany/mode-switch-use.c : Likewise.
* config/epiphany/resolve-sw-modes.c : Likewise.
* config/fr30/fr30.c : Likewise.
* config/frv/frv.c : Likewise.
* config/ft32/ft32.c : Likewise.
* config/glibc-c.c : Likewise.
* config/h8300/h8300.c : Likewise.
* config/i386/i386-c.c : Likewise.
* config/i386/i386.c : Likewise.
* config/i386/msformat-c.c : Likewise.
* config/i386/winnt-cxx.c : Likewise.
* config/i386/winnt-stubs.c : Likewise.
* config/i386/winnt.c : Likewise.
* config/ia64/ia64-c.c : Likewise.
* config/ia64/ia64.c : Likewise.
* config/iq2000/iq2000.c : Likewise.
* config/lm32/lm32.c : Likewise.
* config/m32c/m32c-pragma.c : Likewise.
* config/m32c/m32c.c : Likewise.
* config/m32r/m32r.c : Likewise.
* config/m68k/m68k.c : Likewise.
* config/mcore/mcore.c : Likewise.
* config/mep/mep-pragma.c : Likewise.
* config/mep/mep.c : Likewise.
* config/microblaze/microblaze-c.c : Likewise.
* config/microblaze/microblaze.c : Likewise.
* config/mips/mips.c : Likewise.
* config/mmix/mmix.c : Likewise.
* config/mn10300/mn10300.c : Likewise.
* config/moxie/moxie.c : Likewise.
* config/msp430/msp430-c.c : Likewise.
* config/msp430/msp430.c : Likewise.
* config/nds32/nds32-cost.c : Likewise.
* config/nds32/nds32-fp-as-gp.c : Likewise.
* config/nds32/nds32-intrinsic.c : Likewise.
* config/nds32/nds32-isr.c : Likewise.
* config/nds32/nds32-md-auxiliary.c : Likewise.
* config/nds32/nds32-memory-manipulation.c : Likewise.
* config/nds32/nds32-pipelines-auxiliary.c : Likewise.
* config/nds32/nds32-predicates.c : Likewise.
* config/nds32/nds32.c : Likewise.
* config/nios2/nios2.c : Likewise.
* config/nvptx/nvptx.c : Likewise.
* config/pa/pa.c : Likewise.
* config/pdp11/pdp11.c : Likewise.
* config/rl78/rl78-c.c : Likewise.
* config/rl78/rl78.c : Likewise.
* config/rs6000/rs6000-c.c : Likewise.
* config/rs6000/rs6000.c : Likewise.
* config/rx/rx.c : Likewise.
* config/s390/s390-c.c : Likewise.
* config/s390/s390.c : Likewise.
* config/sh/sh-c.c : Likewise.
* config/sh/sh-mem.cc : Likewise.
* config/sh/sh.c : Likewise.
* config/sh/sh_optimize_sett_clrt.cc : Likewise.
* config/sh/sh_treg_combine.cc : Likewise.
* config/sol2-c.c : Likewise.
* config/sol2-cxx.c : Likewise.
* config/sol2-stubs.c : Likewise.
* config/sol2.c : Likewise.
* config/sparc/sparc-c.c : Likewise.
* config/sparc/sparc.c : Likewise.
* config/spu/spu-c.c : Likewise.
* config/spu/spu.c : Likewise.
* config/stormy16/stormy16.c : Likewise.
* config/tilegx/mul-tables.c : Likewise.
* config/tilegx/tilegx-c.c : Likewise.
* config/tilegx/tilegx.c : Likewise.
* config/tilepro/mul-tables.c : Likewise.
* config/tilepro/tilepro-c.c : Likewise.
* config/tilepro/tilepro.c : Likewise.
* config/v850/v850-c.c : Likewise.
* config/v850/v850.c : Likewise.
* config/vax/vax.c : Likewise.
* config/visium/visium.c : Likewise.
* config/vms/vms-c.c : Likewise.
* config/vms/vms.c : Likewise.
* config/vxworks.c : Likewise.
* config/winnt-c.c : Likewise.
* config/xtensa/xtensa.c : Likewise.

ada
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* gcc-interface/cuintp.c : Adjust include files.
* gcc-interface/decl.c : Likewise.
* gcc-interface/misc.c : Likewise.
* gcc-interface/targtyps.c : Likewise.
* gcc-interface/trans.c : Likewise.
* gcc-interface/utils.c : Likewise.
* gcc-interface/utils2.c : Likewise.

c
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* c-array-notation.c : Adjust include files.
* c-aux-info.c : Likewise.
* c-convert.c : Likewise.
* c-decl.c : Likewise.
* c-errors.c : Likewise.
* c-lang.c : Likewise.
* c-lang.h : Likewise.
* c-objc-common.c : Likewise.
* c-parser.c : Likewise.
* c-typeck.c : Likewise.

cfamily
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* array-notation-common.c : Adjust include files.
* c-ada-spec.c : Likewise.
* c-cilkplus.c : Likewise.
* c-common.c : Likewise.
* c-common.h : Likewise.
* c-cppbuiltin.c : Likewise.
* c-dump.c : Likewise.
* c-format.c : Likewise.
* c-gimplify.c : Likewise.
* c-indentation.c : Likewise.
* c-lex.c : Likewise.
* c-omp.c : Likewise.
* c-opts.c : Likewise.
* c-pch.c : Likewise.
* c-ppoutput.c : Likewise.
* c-pragma.c : Likewise.
* c-pretty-print.c : Likewise.
* c-semantics.c : Likewise.
* c-ubsan.c : Likewise.
* cilk.c : Likewise.
* stub-objc.c : Likewise.

cp
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* call.c : Adjust include files.
* class.c : Likewise.
* constexpr.c : Likewise.
* cp-array-notation.c : Likewise.
* cp-cilkplus.c : Likewise.
* cp-gimplify.c : Likewise.
* cp-lang.c : Likewise.
* cp-objcp-common.c : Likewise.
* cp-tree.h : Likewise.
* cp-ubsan.c : Likewise.
* cvt.c : Likewise.
* decl.c : Likewise.
* decl2.c : Likewise.
* dump.c : Likewise.
* error.c : Likewise.
* except.c : Likewise.
* expr.c : Likewise.
* friend.c : Likewise.
* init.c : Likewise.
* lambda.c : Likewise.
* lex.c : Likewise.
* mangle.c : Likewise.
* method.c : Likewise.
* name-lookup.c : Likewise.
* optimize.c : Likewise.
* parser.c : Likewise.
* pt.c : Likewise.
* ptree.c : Likewise.
* repo.c : Likewise.
* rtti.c : Likewise.
* search.c : Likewise.
* semantics.c : Likewise.
* tree.c : Likewise.
* typeck.c : Likewise.
* typeck2.c : Likewise.
* vtable-class-hierarchy.c : Likewise.

fortran
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* convert.c : Adjust include files.
* cpp.c : Likewise.
* decl.c : Likewise.
* f95-lang.c : Likewise.
* gfortran.h : Likewise.
* iresolve.c : Likewise.
* match.c : Likewise.
* module.c : Likewise.
* openmp.c : Likewise.
* options.c : Likewise.
* target-memory.c : Likewise.
* trans-array.c : Likewise.
* trans-common.c : Likewise.
* trans-const.c : Likewise.
* trans-decl.c : Likewise.
* trans-expr.c : Likewise.
* trans-intrinsic.c : Likewise.
* trans-io.c : Likewise.
* trans-openmp.c : Likewise.
* trans-stmt.c : Likewise.
* trans-types.c : Likewise.
* trans.c : Likewise.

go
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* go-backend.c : Adjust include files.
* go-gcc.cc : Likewise.
* go-lang.c : Likewise.

java
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* boehm.c : Adjust include files.
* builtins.c : Likewise.
* class.c : Likewise.
* constants.c : Likewise.
* decl.c : Likewise.
* except.c : Likewise.
* expr.c : Likewise.
* java-gimplify.c : Likewise.
* java-tree.h : Likewise.
* jcf-dump.c : Likewise.
* jcf-io.c : Likewise.
* jcf-parse.c : Likewise.
* jcf-reader.c : Likewise.
* jvgenmain.c : Likewise.
* lang.c : Likewise.
* mangle.c : Likewise.
* mangle_name.c : Likewise.
* resource.c : Likewise.
* typeck.c : Likewise.
* verify-glue.c : Likewise.
* verify-impl.c : Likewise.

jit
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* dummy-frontend.c : Adjust include files.
* jit-common.h : Likewise.
* jit-playback.c : Likewise.

lto
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* lto-lang.c : Adjust include files.
* lto-object.c : Likewise.
* lto-partition.c : Likewise.
* lto-partition.h : Likewise.
* lto-symtab.c : Likewise.
* lto.c : Likewise.
* lto.h : Likewise.

objc
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c : Adjust include files.
* objc-encoding.c : Likewise.
* objc-gnu-runtime-abi-01.c : Likewise.
* objc-lang.c : Likewise.
* objc-map.c : Likewise.
* objc-next-runtime-abi-01.c : Likewise.
* objc-next-runtime-abi-02.c : Likewise.
* objc-runtime-shared-support.c : Likewise.

objcp
2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

* objcp-decl.c : Adjust include files.
* objcp-lang.c : Likewise.

From-SVN: r224250

9 years agore PR lto/65378 (Tweak to wording of -Wodr message)
Jan Hubicka [Mon, 8 Jun 2015 20:37:53 +0000 (22:37 +0200)]
re PR lto/65378 (Tweak to wording of -Wodr message)

PR lto/65378
* ipa-utils.h (warn_types_mismatch): Update prototype.
* ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
parameters.
(type_mismatch_p): New function.
(warn_types_mismatch): Reorg to work better on non-C++ types.
(odr_types_equivalent_p): Add loc1/loc2 parameters.
(add_type_duplicate): Update.
* lto-symtab.c (warn_type_compatibility_p): Fix call of
odr_or_derived_type_p.
(lto_symtab_merge_decls_2): Update call of warn_types_mismatch.

From-SVN: r224248

9 years agoHandle -fipa-ra in reload_combine
Tom de Vries [Mon, 8 Jun 2015 16:59:31 +0000 (16:59 +0000)]
Handle -fipa-ra in reload_combine

2015-06-08  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/66444
* postreload.c (reload_combine): Use get_call_reg_set_usage instead of
call_used_regs.

* gcc.dg/pr66444.c: New test.

From-SVN: r224240

9 years agore PR fortran/66245 (ICE on select type with empty type spec)
Steven G. Kargl [Mon, 8 Jun 2015 15:55:16 +0000 (15:55 +0000)]
re PR fortran/66245 (ICE on select type with empty type spec)

2015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66245
* match.c (gfc_match_type_is, gfc_match_class_is):  Check if the
return type spec or derived type spec is validate.

2015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66245
* gfortran.dg/class_is_1.f90: New test.
* gfortran.dg/type_is_1.f90: Ditto.

From-SVN: r224237

9 years agore PR c/66415 (ice in location_column_from_byte_offset)
Marek Polacek [Mon, 8 Jun 2015 15:16:12 +0000 (15:16 +0000)]
re PR c/66415 (ice in location_column_from_byte_offset)

PR c/66415
* c-format.c (location_from_offset): Return LOC if LINE is null.

* line-map.c (linemap_position_for_loc_and_offset): Remove
linemap_assert_fails; reverse conditions.

* gcc.dg/cpp/pr66415-1.c: New test.
* gcc.dg/cpp/pr66415-2.c: New test.

From-SVN: r224236

9 years agore PR tree-optimization/66422 (-Warray-bounds false positive with -O3)
Richard Biener [Mon, 8 Jun 2015 14:53:19 +0000 (14:53 +0000)]
re PR tree-optimization/66422 (-Warray-bounds false positive with -O3)

2015-06-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66422
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
block after inserted gcc_unreachable.

* gcc.dg/Warray-bounds-16.c: New testcase.

From-SVN: r224235

9 years agorx.c (rx_function_value): Do not promote vector types.
Nick Clifton [Mon, 8 Jun 2015 13:57:58 +0000 (13:57 +0000)]
rx.c (rx_function_value): Do not promote vector types.

* config/rx/rx.c (rx_function_value): Do not promote vector types.
(rx_promote_function_mode): Likewise.
* config/rx/rx.h (LIBCALL_VALUE): Likewise.

From-SVN: r224228

9 years agogenattrtab.c (insn_alternatives): Change type from int * to uint64_t *.
Jakub Jelinek [Mon, 8 Jun 2015 13:48:12 +0000 (15:48 +0200)]
genattrtab.c (insn_alternatives): Change type from int * to uint64_t *.

* genattrtab.c (insn_alternatives): Change type from int *
to uint64_t *.
(check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
(get_attr_value): Change type of num_alt to uint64_t.
(compute_alternative_mask): Change return type from
int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
(make_alternative_compare, mk_attr_alt): Change argument type
from int to uint64_t.
(simplify_test_exp): Change type of i from int to uint64_t.
Shift ((uint64_t) 1) instead of 1 up.
(main): Adjust oballocvec first argument from int to uint64_t.
Shift ((uint64_t) 1) instead of 1 up.

From-SVN: r224227

9 years agore PR other/65366 (gdbhooks.py is incompatible with Python3)
Jan Kratochvil [Mon, 8 Jun 2015 13:35:51 +0000 (13:35 +0000)]
re PR other/65366 (gdbhooks.py is incompatible with Python3)

PR other/65366
* gdbhooks.py: Import sys.
(intptr): New function.  Replace int(...) by intptr(...).

From-SVN: r224223

9 years agore PR libstdc++/66441 (wstring_convert not working correctly)
Jonathan Wakely [Mon, 8 Jun 2015 13:03:45 +0000 (14:03 +0100)]
re PR libstdc++/66441 (wstring_convert not working correctly)

PR libstdc++/66441
* testsuite/22_locale/conversions/string/66441.cc: New.
* include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
in the output string for BOM and complete result.

From-SVN: r224222

9 years agotree-vect-stmts.c (vectorizable_load): Compute the pointer adjustment for gaps at...
Richard Biener [Mon, 8 Jun 2015 12:40:20 +0000 (12:40 +0000)]
tree-vect-stmts.c (vectorizable_load): Compute the pointer adjustment for gaps at the end of a SLP load group properly.

2015-06-08  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_load): Compute the pointer
adjustment for gaps at the end of a SLP load group properly.
* tree-vect-slp.c (vect_supported_load_permutation_p): Allow
all permutations we can generate.
(vect_transform_slp_perm_load): Use the correct group-size.

* gcc.dg/vect/slp-perm-10.c: New testcase.
* gcc.dg/vect/slp-23.c: Adjust.
* gcc.dg/torture/pr53366-2.c: Also verify cross-iteration
vector pointer update.

From-SVN: r224221

9 years agogenmatch.c (expr::gen_transform): For conditions, guess the type from the second...
Marc Glisse [Mon, 8 Jun 2015 12:20:43 +0000 (14:20 +0200)]
genmatch.c (expr::gen_transform): For conditions, guess the type from the second operand.

2015-06-08  Marc Glisse  <marc.glisse@inria.fr>

* genmatch.c (expr::gen_transform): For conditions, guess the type
from the second operand.

From-SVN: r224220

9 years agoFix try_transform_to_exit_first_loop_alt
Tom de Vries [Mon, 8 Jun 2015 11:53:27 +0000 (11:53 +0000)]
Fix try_transform_to_exit_first_loop_alt

2015-06-08  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66442
* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
if the loop latch is not a singleton.  Use
gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.

From-SVN: r224218

9 years agore PR libstdc++/66417 (std::codecvt_utf16<char32_t, 0x10FFFF, std::codecvt_mode:...
Jonathan Wakely [Mon, 8 Jun 2015 11:09:17 +0000 (12:09 +0100)]
re PR libstdc++/66417 (std::codecvt_utf16<char32_t, 0x10FFFF, std::codecvt_mode::generate_header> generates incorrect output)

PR libstdc++/66417
* src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
for single UTF-16 units.
* testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.

From-SVN: r224217

9 years agore PR sanitizer/66452 ([UBSAN] *.Lubsan_data0' defined but not used)
Marek Polacek [Mon, 8 Jun 2015 10:35:24 +0000 (10:35 +0000)]
re PR sanitizer/66452 ([UBSAN] *.Lubsan_data0' defined but not used)

PR sanitizer/66452
* toplev.c (check_global_declaration): Don't warn about artificial
decls.

* g++.dg/ubsan/pr66452.C: New test.

From-SVN: r224216

9 years agoobjc-runtime-shared-support.c (build_module_descriptor): Set TREE_USED on UOBJC_MODUL...
Aldy Hernandez [Mon, 8 Jun 2015 10:15:34 +0000 (10:15 +0000)]
objc-runtime-shared-support.c (build_module_descriptor): Set TREE_USED on UOBJC_MODULES_decl.

* objc-runtime-shared-support.c (build_module_descriptor): Set
TREE_USED on UOBJC_MODULES_decl.

From-SVN: r224213

9 years ago* sv.po: Update.
Joseph Myers [Mon, 8 Jun 2015 09:42:56 +0000 (10:42 +0100)]
* sv.po: Update.

From-SVN: r224211

9 years agoDon't dump low gimple functions in gimple dump
Tom de Vries [Mon, 8 Jun 2015 08:57:50 +0000 (08:57 +0000)]
Don't dump low gimple functions in gimple dump

2015-06-08  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66436
* cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
dump file.
* gimplify.c: Add tree-dump.h include.
(gimplify_function_tree): Dump function to gimple dump file.
* stor-layout.c (finalize_size_functions): Don't dump function to gimple
dump file.

* gcc.dg/gomp/dump-new-function-2.c: New test.
* gcc.dg/gomp/dump-new-function-3.c: Same.
* gcc.dg/gomp/dump-new-function.c: Same.

From-SVN: r224210

9 years agoAdd debug msg to dump_file in add_new_function
Tom de Vries [Mon, 8 Jun 2015 08:57:39 +0000 (08:57 +0000)]
Add debug msg to dump_file in add_new_function

2015-06-08  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66435
* cgraphunit.c (cgraph_node::add_new_function): Dump message on new
function.

* gcc.dg/gomp/notify-new-function-2.c: New test.
* gcc.dg/gomp/notify-new-function-3.c: Same.
* gcc.dg/gomp/notify-new-function.c: Same.

From-SVN: r224209

9 years agoAdd missing file.
Eric Botcazou [Mon, 8 Jun 2015 07:28:30 +0000 (07:28 +0000)]
Add missing file.

From-SVN: r224208

9 years agoconfigure.ac (*-*-dragonfly*): New configuration.
John Marino [Mon, 8 Jun 2015 07:27:56 +0000 (07:27 +0000)]
configure.ac (*-*-dragonfly*): New configuration.

gnattools/
* configure.ac (*-*-dragonfly*): New configuration.
* configure: Regenerate.
gcc/ada/
* a-intnam-dragonfly.ads: New.
* s-osinte-dragonfly.adb: Likewise.
* s-osinte-dragonfly.ads: Likewise.
* system-dragonfly-x86_64.ads: Likewise.
* adaint.c: Add BSD macros.
* cstreams.c: Likewise.
* gsocket.h: Likewise.
* link.c: Likewise.
* socket.c: Likewise.
* env.c: Add __DragonFly__, remove __FreeBSD__ macro.
* init.c: Add __DragonFly__, change __gnat_install_handler
prototype from empty to void.
* initialize.c: Add __DragonFly__.
* sysdep.c: Likewise.
* s-osinte-freebsd.adb: Use __get_errno instead of __error.
* tracebak.c: Set unwinder for i386 BSD.
* gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
x86_64 FreeBSD and x86 FreeBSD.

From-SVN: r224207

9 years agoDaily bump.
GCC Administrator [Mon, 8 Jun 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224206

9 years agoFix my previous commit.
Jan Hubicka [Mon, 8 Jun 2015 00:13:40 +0000 (00:13 +0000)]
Fix my previous commit.

From-SVN: r224202

9 years agoalias.c (get_alias_set): Be ready for TYPE_CANONICAL of ptr_type_node to not be ptr_t...
Jan Hubicka [Sun, 7 Jun 2015 21:30:58 +0000 (23:30 +0200)]
alias.c (get_alias_set): Be ready for TYPE_CANONICAL of ptr_type_node to not be ptr_to_node.

* alias.c (get_alias_set): Be ready for TYPE_CANONICAL
of ptr_type_node to not be ptr_to_node.
* tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
TREE_TYPE of pointers.
* gimple-expr.c (useless_type_conversion): Reorder the check for
function pointers and TYPE_CANONICAL.
* lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
pointers.
* gfortran.dg/lto/bind_c-1_0.f90: New testcase.
* gfortran.dg/lto/bind_c-1_1.c: New testcase.
* gcc.dg/lto/c-compatible-types_0.c: Rename to ...
* gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template
* gcc.dg/lto/c-compatible-types_1.c: Rename to ...
* gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for
-fshort-enum.

From-SVN: r224201

9 years agostl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ...
François Dumont [Sun, 7 Jun 2015 20:45:57 +0000 (20:45 +0000)]
stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ...

2015-06-07  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
outer scope and rename to ...
(std::__hash_is_transparent<>): ... this.
* include/debug/stl_map.h (map::find<>,
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
member function templates to perform heterogeneous lookup.
* include/debug/stl_multimap.h (multimap::find<>,
multimap::lower_bound<>, multimap::upper_bound<>,
multimap::equal_range<>): Likewise.
* include/debug/stl_multiset.h (multiset::find<>,
multiset::lower_bound<>, multiset::upper_bound<>,
multiset::equal_range<>): Likewise.
* include/debug/stl_set.h (set::find<>,
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
* include/profile/stl_map.h (map::find<>, map::count<>,
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
* include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
multimap::lower_bound<>, multimap::upper_bound<>,
multimap::equal_range<>): Likewise.
* include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
multiset::lower_bound<>, multiset::upper_bound<>,
multiset::equal_range<>): Likewise.
* include/profile/stl_set.h (set::find<>, set::count<>,
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
* testsuite/23_containers/map/operations/1.cc: Check const variants.
* testsuite/23_containers/multimap/operations/1.cc: Likewise.
* testsuite/23_containers/multiset/operations/1.cc: Likewise.
* testsuite/23_containers/set/operations/1.cc: Likewise.

From-SVN: r224200

9 years agoDaily bump.
GCC Administrator [Sun, 7 Jun 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224198

9 years agore PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*...
John David Anglin [Sat, 6 Jun 2015 18:33:06 +0000 (18:33 +0000)]
re PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)')

PR bootstrap/66319
* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
defines.  Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
later.
* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
_INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
_INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
and non iso if unix2003.

From-SVN: r224192

9 years agore PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)
Thomas Koenig [Sat, 6 Jun 2015 16:16:03 +0000 (16:16 +0000)]
re PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/47359
* ChangeLog: Correct PR number in previous commit.

From-SVN: r224191

9 years agore PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)
Thomas Koenig [Sat, 6 Jun 2015 16:12:39 +0000 (16:12 +0000)]
re PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/47359
* arith.c (eval_intrinsic_op): Set warn flag for
gfc_type_convert_binary if -Wconversion or -Wconversion-extra
are set.
(wprecision_real_real): New function.
(wprecision_int_real): New function.
(gfc_int2int): If -fno-range-check and -Wconversion are specified
and it is a narrowing conversion, warn.
(gfc_int2real): If there is a change in value for the conversion,
warn.
(gfc_int2complex):  Likewise.
(gfc_real2int): If there is a fractional part to the real number,
warn with -Wconversion, otherwise warn with -Wconversion-extra.
(gfc_real2real): Emit warning if the constant was changed by
conversion with either -Wconversion or -Wconversion-extra.  With
-Wconversion-extra, warn if no warning was issued earlier.
(gfc_real2complex):  Likewise.
(gfc_complex2int): For -Wconversion or -Wconversion-extra, if
there was an imaginary part, warn; otherwise, warn for change in
value.  Warn with -Wconversion-extra if no other warning was
issued.
(gfc_complex2real): For -Wconversion or -Wconversion-extra, if
there was an imaginary part, warn; otherwise, warn for change in
value. Warn with -Wconversion-extra if no other warning was
issued.
(gfc_complex2complex):  For -Wconversion, warn if the value of
either the real or the imaginary part was changed.  Warn for
-Wconversion-extra if no prior warning was issued.
* expr.c (gfc_check_assign):  Remove check for change in value.
* primary.c (match_real_constant): For -Wconversion-extra, check
against a number in which the last non-zero digit has been
replaced with a zero.  If the number compares equal, warn.
* intrinsic.c (gfc_convert_type_warn):  Do not warn about constant
conversions.

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/47359
* gfortran.dg/array_constructor_type_17.f03: Adjust error message.
* gfortran.dg/warn_conversion.f90: Add warning for change in value
for assignment.
* gfortran.dg/warn_conversion_3.f90: Add warnings.
* gfortran.dg/warn_conversion_5.f90: New test.
* gfortran.dg/warn_conversion_6.f90: New test.
* gfortran.dg/warn_conversion_7.f90: New test.

From-SVN: r224190

9 years ago* dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
Aldy Hernandez [Sat, 6 Jun 2015 15:16:02 +0000 (15:16 +0000)]
* dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.

From-SVN: r224189

9 years agoemit-rtl.c, [...]: Replace rtx base types with more derived ones.
Richard Sandiford [Sat, 6 Jun 2015 13:14:45 +0000 (13:14 +0000)]
emit-rtl.c, [...]: Replace rtx base types with more derived ones.

gcc/
* emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
except.c, final.c, function.c, gcse-common.c, genemit.c,
haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
more derived ones.

From-SVN: r224187

9 years agoAdd missing entry.
Eric Botcazou [Sat, 6 Jun 2015 07:49:11 +0000 (07:49 +0000)]
Add missing entry.

From-SVN: r224185

9 years agoutils.c (note_types_used_by_globals): Tweak comment.
Eric Botcazou [Sat, 6 Jun 2015 07:44:03 +0000 (07:44 +0000)]
utils.c (note_types_used_by_globals): Tweak comment.

* gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.

From-SVN: r224184

9 years agoPromote types of rtl expressions to rtx_insn in gen_split and gen_peephole2
Mikhail Maltsev [Sat, 6 Jun 2015 05:39:16 +0000 (05:39 +0000)]
Promote types of rtl expressions to rtx_insn in gen_split and gen_peephole2

* combine.c (combine_split_insns): Remove cast.
* config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
* config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
* emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
* genemit.c (gen_split): Change return type of generated functions to
rtx_insn.
* genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
(print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
gen_peephole2_* functions.
(print_subroutine, main): Likewise.
* recog.c (peephole2_optimize): Remove cast.
(peep2_next_insn): Promote return type to rtx_insn.
* recog.h (peep2_next_insn): Fix prototype.
* rtl.h (try_split, split_insns): Likewise.

From-SVN: r224183

9 years agomsp430.c (msp430_asm_integer): Support addition and subtraction too.
DJ Delorie [Sat, 6 Jun 2015 05:15:16 +0000 (01:15 -0400)]
msp430.c (msp430_asm_integer): Support addition and subtraction too.

* config/msp430/msp430.c (msp430_asm_integer): Support addition
and subtraction too.

From-SVN: r224182

9 years agoDaily bump.
GCC Administrator [Sat, 6 Jun 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224181

9 years agore PR libstdc++/6641 (-D__USE_MALLOC doesn't link)
Kaz Kojima [Fri, 5 Jun 2015 23:36:26 +0000 (23:36 +0000)]
re PR libstdc++/6641 (-D__USE_MALLOC doesn't link)

PR target/6641
* Split Snd constraint into Sid and Ssd.  Disparage Sid/z alternative
  of *mov<mode> insn to avoid spill failure.

From-SVN: r224177

9 years agore PR fortran/66347 (Seg fault (ICE) on compile)
Steven G. Kargl [Fri, 5 Jun 2015 23:01:22 +0000 (23:01 +0000)]
re PR fortran/66347 (Seg fault (ICE) on compile)

2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66347
* resolve.c (apply_default_init_local): Do not dereference a NULL
pointer.

2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66347
* gfortran.dg/blockdata_9.f: New test.

From-SVN: r224175

9 years agoRemove jit_langhook_post_compilation_parsing_cleanups
David Malcolm [Fri, 5 Jun 2015 21:20:07 +0000 (21:20 +0000)]
Remove jit_langhook_post_compilation_parsing_cleanups

gcc/jit/ChangeLog:
* dummy-frontend.c
(jit_langhook_post_compilation_parsing_cleanups): Remove.
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): Remove
* jit-playback.c (gcc::jit::playback::context::new_global): Add
call to varpool_node::finalize_decl.
(gcc::jit::playback::context::finalize_global_decls): Remove.
* jit-playback.h
(gcc::jit::playback::context::finalize_global_decls): Remove.

From-SVN: r224173

9 years agore PR fortran/66385 (ICE: FORALL writing multiple elements of one array)
Thomas Koenig [Fri, 5 Jun 2015 20:51:08 +0000 (20:51 +0000)]
re PR fortran/66385 (ICE: FORALL writing multiple elements of one array)

2015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66385
* frontend-passes.c (combine_array_constructor): Return early if
inside a FORALL loop.

2015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66385
* gfortran.dg/forall_17.f90:  New test.

From-SVN: r224172

9 years agoFix build of jit after debug-early merger
David Malcolm [Fri, 5 Jun 2015 20:23:19 +0000 (20:23 +0000)]
Fix build of jit after debug-early merger

gcc/jit/ChangeLog:
* dummy-frontend.c (jit_langhook_write_globals): Rename to...
(jit_langhook_post_compilation_parsing_cleanups): ...this, and
eliminate calls to finalize_compilation_unit and
write_global_decls_2.
(LANG_HOOKS_WRITE_GLOBALS): Rename to...
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): ...this and
redirect from jit_langhook_write_globals to
jit_langhook_post_compilation_parsing_cleanups.
* jit-playback.c
(gcc::jit::playback::context::write_global_decls_1): Rename to...
(gcc::jit::playback::context::finalize_global_decls): ...this.
(gcc::jit::playback::context::write_global_decls_1): Delete.
* jit-playback.h
(gcc::jit::playback::context::write_global_decls_1): Rename to...
(gcc::jit::playback::context::finalize_global_decls): ...this.
(gcc::jit::playback::context::write_global_decls_1): Delete.

From-SVN: r224170

9 years ago* jcf-parse.c: Include toplev.h.
Aldy Hernandez [Fri, 5 Jun 2015 19:40:40 +0000 (19:40 +0000)]
* jcf-parse.c: Include toplev.h.

From-SVN: r224168

9 years agore PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)
Jason Merrill [Fri, 5 Jun 2015 19:14:02 +0000 (15:14 -0400)]
re PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)

PR c++/66405
* pt.c (argument_pack_element_is_expansion_p): Return 2 if
the expansion has extra args.
(use_pack_expansion_extra_args_p): Return true in that case.

From-SVN: r224163

9 years agore PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)
Jason Merrill [Fri, 5 Jun 2015 19:13:56 +0000 (15:13 -0400)]
re PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)

PR c++/66405
* pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
dependent even if it has a type.

From-SVN: r224162

9 years agoMerge debug-early branch into mainline.
Aldy Hernandez [Fri, 5 Jun 2015 18:44:53 +0000 (18:44 +0000)]
Merge debug-early branch into mainline.

* dwarf2out.c: Remove deferred_locations*.
(dwarf2_debug_hooks): Add early_finish hook.
Remove global_decl hook.
Add early_global_decl and late_global_decl hook.
New global early_dwarf.
New structure set_early_dwarf.
(output_die): Indicate whether a DIE was generated early
when generating assembly with -dA.
(struct limbo_die_struct): Document created_for field.
Remove file_table_last_lookup.
(remove_AT): Return TRUE if successful.
(remove_child_TAG): Clear die_parent.
(reparent_child): New function abstracted from...
(splice_child_die): ...here.
(new_die): ICE if a DIE ends up in limbo too late.
(check_die): New.
(defer_location): Remove.
(add_subscript_info): Reuse DW_TAG_subrange_type if available.
(fill_variable_array_bounds): New.
(decl_start_label): Call fill_variable_array_bounds.
(gen_formal_parameter_die): Rewrite to reuse previously generated
DIEs.
(gen_subprogram_die): Same.
(gen_variable_die): Same.
(gen_const_die): Same.
(gen_label_die): Same.
(gen_lexical_block_die): Same.
(decl_will_get_specification_p): New.
(local_function_static): New.
(gen_struct_or_union_type_die): Fill in variable-length fields.
(gen_typedef_die): Fill in variable-length typedefs.
(gen_tagged_type_die): Gracefully return on error_mark_node.
Handle re-entrancy.
(gen_type_die_with_usage): Handle variable-length types.
Remove duplicate code for ARRAY_TYPE case.
(process_scope_var): Only process imported modules during early
dwarf.
(dwarf2out_early_global_decl): New.
(dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
(dwarf2out_type_decl): Set early_dwarf while calling
dwarf2out_decl.
(dwarf2out_decl): Verify that we did not recreate a previously
generated DIE.
Do not return on DECL_EXTERNALs in VAR_DECLs.
Abstract some code to local_function_static.
(lookup_filename): Remove use of file_table_last_lookup.
Gracefully exit on missing file_name.
(dwarf2out_finish): Verify limbo list.
Remove deferred_locations_list use.
Move deferred_asm_name and limbo flushing to...
(dwarf2out_early_finish): ...here.  New.
(dwarf2out_c_finalize): Remove set of deferred_location_list,
deferred_asm_name, and file_table_last_lookup.
* cgraph.h (referred_to_p): Add default argument.
* cgraphunit.c (referred_to_p): Add and handle include_self
argument.
(analyze_functions): Add first_time argument.
Call check_global_declaration for all symbols.
Call late_global_decl for nodes for moribund nodes.
(finalize_compilation_unit): Add new argument to
analyze_functions.
Call early_global_decl for functions.
Call early_finish debug hook.
* dbxout.c (dbxout_early_global_decl): New.
(dbxout_late_global_decl): New.  Adapted from dbxout_global_decl.
(dbx_debug_hooks): Add new hooks.
(xcoff_debug_hooks): Same.
* debug.c (do_nothing_debug_hooks): Add early_finish field.
Add early and late debug hooks.
Remove global_decl hook.
* debug.h (struct gcc_debug_hooks): Add early_finish,
early_global_decl, and late_global_decl fields.
Remove global_decl field.
Document gcc_debug_hooks.
* gengtype.c (output_typename): Remove.
* godump.c (go_early_global_decl): New.
(go_late_global_decl): New.
(go_global_decl): Remove.
(dump_go_spec_init): Remove global_decl.  Add
{early,late}_global_decl.
* langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
* langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
(write_global_declarations): Remove.
(global_decl_processing): New.
* langhooks.h (struct lang_hooks_for_decls): Remove
final_write_globals field.
Add post_compilation_parsing_cleanups field.
* passes.c (rest_of_decl_compilation): Call early_global_decl.
* sdbout.c: Add early and late_global_decl hooks.  Remove
sdbout_global_decl hook.
Add early_finish field for sdb_debug_hooks.
(sdbout_global_decl): Remove.
(sdbout_early_global_decl): New.
(sdbout_late_global_decl): New.
* timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
* toplev.c (check_global_declaration): Rename from
check_global_declaration_1.
Adapt to use symtab infrastructure.
(check_global_declarations): Remove.
(emit_debug_global_declarations): Remove.
(compile_file): Remove call to final_write_globals langhook.
Run the actual compilation process.
Perform any post compilation parser cleanups.
Generate late debug info.
* toplev.h (check_global_declaration): New.
(check_global_declaration_1): Remove.
(check_global_declarations): Remove.
(write_global_declarations): Remove.
(emit_debug_global_declarations): Remove.
(global_decl_processing): New.
* tree-core.h (struct tree_block): Add DIE field.
* tree.h (BLOCK_DIE): New.
* vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
throughout.
(vmsdbgout_early_global_decl): New.
(vmsdbgout_late_global_decl): New.
Add early_finish debug hook field to vmsdbg_debug_hooks.
Remove vmsdbgout_decl to vmsdbgout_function_decl.
Add early and late_global_decl debug hooks.

From-SVN: r224161

9 years agostatus_cxx2017.xml: Update status tables.
Jonathan Wakely [Fri, 5 Jun 2015 17:17:53 +0000 (18:17 +0100)]
status_cxx2017.xml: Update status tables.

* doc/xml/manual/status_cxx2017.xml: Update status tables.
* doc/html/manual/*: Regenerate.
* include/std/type_traits (bool_constant): Define.
* testsuite/20_util/bool_constant/requirements.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r224160

9 years ago[multiple changes]
Steven G. Kargl [Fri, 5 Jun 2015 16:54:53 +0000 (16:54 +0000)]
[multiple changes]

2015-06-03  Russell Whitesides  <russelldub@gmail.com>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/40958
PR fortran/60780
PR fortran/66377
* module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
from different modules.  Eliminate the pruning of unused
equivalence-objects

2015-06-03  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66377
gfortran.dg/equiv_9.f90: New test.

From-SVN: r224159

9 years agoshared_mutex (__shared_mutex_pthread, [...]): New helper types implementing the share...
Jonathan Wakely [Fri, 5 Jun 2015 16:31:05 +0000 (17:31 +0100)]
shared_mutex (__shared_mutex_pthread, [...]): New helper types implementing the shared mutex requirements.

* include/std/shared_mutex (__shared_mutex_pthread,
__shared_mutex_cv): New helper types implementing the shared mutex
requirements.
(shared_mutex): New type for C++17.
(shared_timed_mutex): Derive from one of the new helper types.
* testsuite/30_threads/shared_mutex/cons/1.cc: New.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
New.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.

From-SVN: r224158

9 years agoprint-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
Julian Brown [Fri, 5 Jun 2015 16:01:45 +0000 (16:01 +0000)]
print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.

2015-06-05  Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
* config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
to print-sysroot-suffix.sh script.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r224156