re PR testsuite/65093 (26_numerics/random/binomial_distribution/operators/values.cc times out on slow targets)
PR testsuite/65093
* testsuite/26_numerics/random/binomial_distribution/operators/values.cc
(test01): Add explanatory comment. Keep only the bd1 sub-test and
split out bd2, bd3, bd4, and bd5 sub-tests into...
* testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
New separate files with the old parts.
Maxim Kuvyrkov [Thu, 19 Feb 2015 08:31:14 +0000 (08:31 +0000)]
re PR debug/64935 (compare debug failure during building of Linux kernel)
Fix PR64935
* haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
(rank_for_schedule_debug): Update.
(ready_sort): Make static. Move sorting logic to ...
(ready_sort_debug, ready_sort_real): New static functions.
(schedule_block): Sort both debug insns and real insns in preparation
for ready list trimming. Improve debug output.
* sched-int.h (ready_sort): Remove global declaration.
* gcc.dg/pr64935-1.c, gcc.dg/pr64935-2.c: New tests.
Jakub Jelinek [Wed, 18 Feb 2015 22:02:43 +0000 (23:02 +0100)]
re PR gcov-profile/64634 (gcov reports catch(...) as not executed)
PR gcov-profile/64634
* tree-eh.c (frob_into_branch_around): Fix up typos
in function comment.
(lower_catch): Put eh_seq resulting from EH lowering of
the cleanup sequence after the cleanup rather than before
it.
H.J. Lu [Wed, 18 Feb 2015 17:24:20 +0000 (17:24 +0000)]
Return false for common symbols in sdata_symbolic_operand
Although common symbols are defined in executables, they aren't in small
data section. But a definition in small data section overrides a common
symbol, which still binds lcoally, and turns a reference to common symbol
to reference to small data section. Even if ia64_in_small_data_p returns
true on common symbols, sdata_symbolic_operand must return false on common
symbols. Common symbols are assumed to be placed in small data section,
but are accessed as if they are in normal data section so that they won't
cause any relocation overflow.
PR target/65064
* config/ia64/predicates.md (sdata_symbolic_operand): Return false
for common symbols.
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
(compare_virtual_tables): Be smarter about skipping typeinfos;
do sane output on virtual table table mismatch.
(warn_odr): Be ready for forward declarations of enums;
output sane info on base mismatch and virtual table mismatch.
(add_type_duplicate): Fix code choosing prevailing type; do not ICE
when only one type is polymorphic.
(get_odr_type): Fix hashtable corruption.
(dump_odr_type): Dump mangled names.
Marek Polacek [Wed, 18 Feb 2015 09:46:59 +0000 (09:46 +0000)]
re PR sanitizer/65081 (-fsanitize=object-size fails with simple pointer arithm)
PR sanitizer/65081
* ubsan.c (OBJSZ_MAX_OFFSET): Define.
(ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
is in range [-16K, -1]. Don't issue run-time error if
(ptr > ptr + offset).
Thomas Schwinge [Wed, 18 Feb 2015 08:17:32 +0000 (09:17 +0100)]
nvptx mkoffload: For non-installed testing, look in all COMPILER_PATHs for GCC_INSTALL_NAME.
gcc/
* config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
(access_check): New functions, copied from
config/i386/intelmic-mkoffload.c.
(main): For non-installed testing, look in all COMPILER_PATHs for
GCC_INSTALL_NAME.
Jan Hubicka [Tue, 17 Feb 2015 21:57:53 +0000 (22:57 +0100)]
ipa-visibility.c (function_and_variable_visibility): Only check locality if node is not already local.
* ipa-visibility.c (function_and_variable_visibility): Only
check locality if node is not already local.
* ipa-inline.c (want_inline_function_to_all_callers_p): Use
call_for_symbol_and_aliases instead of
call_for_symbol_thunks_and_aliases.
(ipa_inline): Likewise.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
first walk aliases.
* ipa.c (symbol_table::remove_unreachable_nodes): Use
call_for_symbol_and_aliases.
* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
(ipa_propagate_frequency_1): Use it; use opt_for_fn
(ipa_propagate_frequency): Update.
(ipa_profile): Add opt_for_fn gueards.
Jan Hubicka [Tue, 17 Feb 2015 20:58:43 +0000 (21:58 +0100)]
ipa-visibility.c (function_and_variable_visibility): Only check locality if node is not already local.
* ipa-visibility.c (function_and_variable_visibility): Only
check locality if node is not already local.
* ipa-inline.c (want_inline_function_to_all_callers_p): Use
call_for_symbol_and_aliases instead of
call_for_symbol_thunks_and_aliases.
(ipa_inline): Likewise.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
first walk aliases.
* ipa.c (symbol_table::remove_unreachable_nodes): Use
call_for_symbol_and_aliases.
* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
(ipa_propagate_frequency_1): Use it; use opt_for_fn
(ipa_propagate_frequency): Update.
(ipa_profile): Add opt_for_fn guards.
libgcc/
* config/arm/bpabi.S (test_div_by_zero): Make label names
consistent between thumb2 and arm mode cases. Separate the
signed comparison on the high word of the numerator from the
unsigned comparison on the low word.
* config/arm/bpabi-v6m.S (test_div_by_zero): Similarly separate
signed comparison.
gcc/testsuite/
* gcc.target/arm/divzero.c: New test case.
James Greenhalgh [Tue, 17 Feb 2015 09:19:33 +0000 (09:19 +0000)]
[Haifa Scheduler] Fix latent bug in macro-fusion/instruction grouping
gcc/
* haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
as forcing a HARD_DEP between instructions, thereby
disallowing rewriting to break dependencies.
* symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
* lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
variables in boundary that have no inlitalizer encoded and are
not aliases.
* varasm.c (default_binds_local_p_2): External definitions do not
count as definitions here.
Jeff Law [Mon, 16 Feb 2015 20:56:55 +0000 (13:56 -0700)]
re PR tree-optimization/64823 (false "may be used uninitialized", missed jump threading)
PR tree-optimization/64823
* tree-vrp.c (identify_jump_threads): Handle blocks with no real
statements.
* tree-ssa-threadedge.c (potentially_threadable_block): Allow
threading through blocks with PHIs, but no statements.
(thread_through_normal_block): Distinguish between blocks where
we did not process all the statements and blocks with no statements.
PR tree-optimization/64823
* gcc.dg/uninit-20.c: New test.
Alex Velenko [Mon, 16 Feb 2015 18:12:10 +0000 (18:12 +0000)]
atomic-op-consume.c (scan-assember-times): Directive adjusted to scan for ldaxr.
gcc/testsuite/
* gcc.target/aarch64/atomic-op-consume.c (scan-assember-times):
Directive adjusted to scan for ldaxr.
* gcc.target/arm/atomic-op-consume.c (scan-assember-times): Directive
adjusted to scan for ldaex.
David Edelsohn [Mon, 16 Feb 2015 15:33:09 +0000 (10:33 -0500)]
[multiple changes]
2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
David Edelsohn <dje.gcc@gmail.com>
PR target/65058
* config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
mapping class to external variable or function reference.
* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
mapping class.
2015-02-16 David Eelsohn <dje.gcc@gmail.com>
PR target/53348
* config/rs6000/rs6000.c (rs6000_declare_alias): Only use
ASM_WEAKEN_DECL if defined.
Daniel Richard G. <skunk@iskunk.org>
PR bootstrap/48009
PR bootstrap/53348
* inclhack.def (aix_strtof_const): New fix.
* fixincl.x: Regenerate.
* tests/base/inttypes.h: New test.
Jan Hubicka [Sun, 15 Feb 2015 22:30:16 +0000 (23:30 +0100)]
cgraph.h (symtab_node::has_aliases_p): Simplify.
* cgraph.h (symtab_node::has_aliases_p): Simplify.
(symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
* tree.c (lookup_binfo_at_offset): Make static.
(get_binfo_at_offset): Do not shadow offset; add explanatory
comment.
pa.c (pa_secondary_reload): Request a secondary reload for all floading point loads and stores except those...
* config/pa/pa.c (pa_secondary_reload): Request a secondary reload
for all floading point loads and stores except those using a register
index address.
* config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
to a register.
Marek Polacek [Sat, 14 Feb 2015 11:25:19 +0000 (11:25 +0000)]
re PR c/64768 (internal compiler error: tree check: expected tree that contains ‘decl with RTL’ structure, have ‘field_decl’ in set_decl_rtl, at emit-rtl.c:1274)
PR c/64768
* c-decl.c (grokdeclarator): Set the range of a flexible array member
declared through a typedef name.
* gcc.dg/array-11.c: New test.
* gcc.dg/array-12.c: New test.
* gcc.dg/array-13.c: New test.
* gcc.dg/array-14.c: New test.
* gcc.dg/c99-flex-array-typedef-1.c: New test.
* gcc.dg/c99-flex-array-typedef-2.c: New test.
* gcc.dg/c99-flex-array-typedef-3.c: New test.
* gcc.dg/c99-flex-array-typedef-5.c: New test.
* gcc.dg/c99-flex-array-typedef-7.c: New test.
* gcc.dg/c99-flex-array-typedef-8.c: New test.
Jakub Jelinek [Sat, 14 Feb 2015 08:23:18 +0000 (09:23 +0100)]
re PR tree-optimization/62209 (ICE with LTO on valid code on x86_64-linux-gnu)
PR tree-optimization/62209
* tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
op == range->exp, insert seq and gimplified code after labels
instead of after the phi.
Jeff Law [Fri, 13 Feb 2015 21:09:58 +0000 (14:09 -0700)]
re PR tree-optimization/64823 (false "may be used uninitialized", missed jump threading)
PR tree-optimization/64823
* tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
* tree-ssa-threadedge.c (potentially_threadable_block): Allow
threading through blocks with PHIs, but no statements.
(thread_through_normal_block): Distinguish between blocks where
we did not process all the statements and blocks with no statements.
PR tree-optimization/64823
gcc.dg/uninit-20.c: New test.
Jerry DeLisle [Fri, 13 Feb 2015 16:57:28 +0000 (16:57 +0000)]
re PR fortran/64506 (FORMAT Parse Error with Continuation Line)
2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/64506
* scanner.c (gfc_next_char_literal): For free form source,
check for '!' and if found, clear the comment and go back
and get the next character. For fixed form source, skip the
rest of the line.