Jakub Jelinek [Wed, 18 Feb 2015 16:38:29 +0000 (17:38 +0100)]
t-intelmic (mkoffload.o): Remove dependency on insn-modes.h.
* config/i386/t-intelmic (mkoffload.o): Remove dependency on
insn-modes.h.
(ALL_HOST_OBJS): Add mkoffload.o.
* config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
From-SVN: r220791
Jan Hubicka [Wed, 18 Feb 2015 16:12:52 +0000 (17:12 +0100)]
ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
* 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.
From-SVN: r220790
Ilya Tocar [Wed, 18 Feb 2015 13:33:43 +0000 (13:33 +0000)]
target.c (gomp_load_plugin_for_device): Use const char * instead of char * for variables holding dlerror return values.
libgomp/
* target.c (gomp_load_plugin_for_device): Use const char * instead of
char * for variables holding dlerror return values.
(DLSYM_OPT): Ditto.
From-SVN: r220789
Richard Biener [Wed, 18 Feb 2015 13:08:58 +0000 (13:08 +0000)]
re PR tree-optimization/65063 (gcc.dg/vect/vect-double-reduc-6.c FAILs with -O3 -fno-tree-loop-ivcanon -fno-tree-vectorize)
2015-02-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/65063
* tree-predcom.c (determine_unroll_factor): Return 1 if we
have replaced looparound PHIs.
* gcc.dg/pr65063.c: New testcase.
From-SVN: r220788
Martin Liska [Wed, 18 Feb 2015 12:12:50 +0000 (13:12 +0100)]
Add checking macro within lto_streamer_init.
* lto-streamer.c (lto_streamer_init): Encapsulate
streamer_check_handled_ts_structures with checking macro.
From-SVN: r220787
Jakub Jelinek [Wed, 18 Feb 2015 11:37:02 +0000 (12:37 +0100)]
re PR ipa/65087 (r220742 causes: ICE: in ipcp_verify_propagated_values, at ipa-cp.c:1057)
PR ipa/65087
* cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
section if !implicit_section.
(cgraph_node::create_version_clone_with_body): Likewise.
* trans-mem.c (ipa_tm_create_version): Likewise.
From-SVN: r220786
Richard Biener [Wed, 18 Feb 2015 09:48:57 +0000 (09:48 +0000)]
re PR tree-optimization/62217 (DOM confuses complete unrolling which in turn causes VRP to warn)
2015-02-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/62217
* tree-ssa-dom.c (cprop_operand): Avoid propagating copies
into BIVs.
* gcc.dg/tree-ssa/cunroll-11.c: New testcase.
From-SVN: r220785
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).
* c-c++-common/ubsan/pr65081.c: New test.
From-SVN: r220784
Thomas Schwinge [Wed, 18 Feb 2015 08:31:18 +0000 (09:31 +0100)]
Begin documenting the nvptx backend.
gcc/
* doc/install.texi (nvptx-*-none): New section.
* doc/invoke.texi (Nvidia PTX Options): Likewise.
* config/nvptx/nvptx.opt: Update.
From-SVN: r220783
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.
From-SVN: r220782
Thomas Schwinge [Wed, 18 Feb 2015 08:01:03 +0000 (09:01 +0100)]
nvptx-none: Disable the lto-plugin.
config/
* elf.m4 (ACX_ELF_TARGET_IFELSE): nvptx-*-none isn't ELF.
/
* configure: Regenerate.
From-SVN: r220781
Thomas Schwinge [Wed, 18 Feb 2015 07:45:42 +0000 (08:45 +0100)]
nvptx-none: Define empty GOMP_SELF_SPECS.
Otherwise, offloading with -fopenacc or -fopenmp active will run into:
x86_64-unknown-linux-gnu-accel-nvptx-none-gcc: error: unrecognized command line option '-pthread'
gcc/
* config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
From-SVN: r220780
Andrew Pinski [Wed, 18 Feb 2015 04:40:10 +0000 (04:40 +0000)]
aarch64.c (*aarch64_load_symref_appropriately): Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
* config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
From-SVN: r220779
GCC Administrator [Wed, 18 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220778
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.
From-SVN: r220775
Oleg Endo [Tue, 17 Feb 2015 21:38:12 +0000 (21:38 +0000)]
sh.opt (mcbranch-force-delay-slot): New option.
gcc/
* config/sh/sh.opt (mcbranch-force-delay-slot): New option.
* doc/invoke.texi (SH options): Document it.
* config/sh/sh.c (sh_insn_length_adjustment): Check
TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
gcc/testsuite/
* gcc.target/sh/sh.exp (check_effective_target_sh1): New.
* gcc.target/sh/force-cbranch-delay-slot.c: New.
From-SVN: r220774
H.J. Lu [Tue, 17 Feb 2015 21:25:56 +0000 (21:25 +0000)]
Add -fipa-cp-alignment
This patch adds -fipa-cp-alignment to provide a way to enable/disable
alignment discovery and propagation in IPA-CP.
gcc/
* common.opt (fipa-cp-alignment): New.
* ipa-cp.c (ipcp_store_alignment_results): Check
flag_ipa_cp_alignment.
* opts.c (default_options_table): Enable -fipa-cp-alignment for
-O2.
(enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
* doc/invoke.texi: Document -fipa-cp-alignment.
gcc/testsuite/
* gcc.dg/ipa/propalign-3.c: New test.
From-SVN: r220773
Oleg Endo [Tue, 17 Feb 2015 21:08:24 +0000 (21:08 +0000)]
re PR target/64793 ([SH] missed delay slot)
gcc/
PR target/64793
* config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
to nil. Adjust comments.
gcc/testsuite/
PR target/64793
* gcc.target/sh/pr64793.c: New.
* gcc.target/sh/pr51244-20-sh2a.c: Adjust expected cmp/gt insn count.
From-SVN: r220772
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.
From-SVN: r220771
Thomas Schwinge [Tue, 17 Feb 2015 18:24:07 +0000 (19:24 +0100)]
libgomp: Make GOMP_PLUGIN_debug actually work...
libgomp/
* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
From-SVN: r220770
Thomas Schwinge [Tue, 17 Feb 2015 18:13:32 +0000 (19:13 +0100)]
nvptx mkoffload: Fix logic error in skipping of "strange" tokens.
gcc/
* config/nvptx/mkoffload.c (parse_file): Fix logic error in
skipping of "strange" tokens.
From-SVN: r220769
Thomas Schwinge [Tue, 17 Feb 2015 18:05:24 +0000 (19:05 +0100)]
libgomp: Make nvptx helper routines self-contained.
libgomp/
* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
GOACC_ctaid, and GOACC_nctaid routines.
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r220768
Sandra Loosemore [Tue, 17 Feb 2015 17:39:22 +0000 (12:39 -0500)]
bpabi.S (test_div_by_zero): Make label names consistent between thumb2 and arm mode cases.
2015-02-17 Sandra Loosemore <sandra@codesourcery.com>
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.
From-SVN: r220765
Joseph Myers [Tue, 17 Feb 2015 16:19:56 +0000 (16:19 +0000)]
Avoid dependence on libc headers in nvptx realloc.
* config/nvptx/realloc.c: Include <stddef.h> instead of <stdlib.h>
and <string.h>.
(__nvptx_realloc): Call __builtin_memcpy instead of memcpy.
From-SVN: r220764
Jeff Law [Tue, 17 Feb 2015 15:32:05 +0000 (08:32 -0700)]
tree-vrp.c (identify_jump_threads): Use last_stmt.
* tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
obsolete comment.
From-SVN: r220763
Daniel Richard G. [Tue, 17 Feb 2015 14:45:48 +0000 (14:45 +0000)]
Change stdlib.h base, not inttypes.h
From-SVN: r220761
Rüdiger Sonderfeld [Tue, 17 Feb 2015 14:25:48 +0000 (14:25 +0000)]
char32_t.cc: New.
2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Jonathan Wakely <jwakely@redhat.com>
* testsuite/22_locale/codecvt/char32_t.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r220760
Alan Lawrence [Tue, 17 Feb 2015 14:08:59 +0000 (14:08 +0000)]
Correct ChangeLog entry (2015-02-04)
From-SVN: r220759
Jonathan Wakely [Tue, 17 Feb 2015 12:44:26 +0000 (12:44 +0000)]
re PR libstdc++/65085 (Move-assigned empty string corrupt with -D_GLIBCXX_USE_CXX11_ABI=1)
PR libstdc++/65085
* include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
empty string gets null-terminated.
* testsuite/21_strings/basic_string/cons/char/65085.cc: New.
From-SVN: r220758
Tom de Vries [Tue, 17 Feb 2015 11:42:26 +0000 (11:42 +0000)]
Add gcc.target/x86_64/abi/callabi/vaarg-6.c
2015-02-17 Tom de Vries <tom@codesourcery.com>
* gcc.target/x86_64/abi/callabi/vaarg-6.c: New test.
From-SVN: r220757
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.
From-SVN: r220751
Jan Hubicka [Tue, 17 Feb 2015 08:58:37 +0000 (09:58 +0100)]
symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
* 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.
From-SVN: r220749
Paolo Carlini [Tue, 17 Feb 2015 08:25:30 +0000 (08:25 +0000)]
re PR c++/65075 (constexpr regression)
PR c++/65075
* constexpr.c (check_constexpr_bind_expr_vars): Allow
implicit typedefs for lambda types.
* g++.dg/cpp0x/pr65075.C: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r220748
GCC Administrator [Tue, 17 Feb 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220747
David Edelsohn [Mon, 16 Feb 2015 23:03:33 +0000 (23:03 +0000)]
re PR target/65058 (AIX: missing extern decorations "[DS]" for functions and "[UA]" for variables)
PR target/65058
* gcc.target/powerpc/pr65058.c: New test.
From-SVN: r220744
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.
From-SVN: r220743
Jakub Jelinek [Mon, 16 Feb 2015 19:22:57 +0000 (20:22 +0100)]
re PR ipa/64963 (IPA Cloning/Splitting does not copy function section attributes resulting in kernel miscompilation)
PR ipa/64963
* cgraphclones.c (cgraph_node::create_virtual_clone): Copy
section if not linkonce. Fix up formatting.
(cgraph_node::create_version_clone_with_body): Copy section.
* trans-mem.c (ipa_tm_create_version): Likewise.
* gcc.dg/ipa/ipa-clone-1.c: New test.
Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
From-SVN: r220742
Richard Biener [Mon, 16 Feb 2015 18:15:19 +0000 (18:15 +0000)]
re PR tree-optimization/65077 (memcpy generates incorrect code with floating point numbers and -O1)
2015-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/65077
* tree-ssa-structalias.c (get_constraint_for_1): Handle
IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
(find_func_aliases): Allow float values to carry pointers again.
* gcc.dg/torture/pr65077.c: New testcase.
From-SVN: r220741
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.
From-SVN: r220740
Paolo Carlini [Mon, 16 Feb 2015 17:48:08 +0000 (17:48 +0000)]
re PR c++/65080 (constexpr-ness lost by using alias in definition)
2015-02-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65080
* g++.dg/cpp0x/constexpr-65080.C: New.
From-SVN: r220739
James Greenhalgh [Mon, 16 Feb 2015 16:28:16 +0000 (16:28 +0000)]
[Patch docs obvious] install.texi: Put aarch64 back in alphabetical order, add link
gcc/
* doc/install.texi (Specific): Reorder targets list to put
aarch64 in alphabetical order. Add a link to aarch64*-*-*
from the top menu.
From-SVN: r220738
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.
From-SVN: r220737
Daniel Richard G. [Mon, 16 Feb 2015 15:19:20 +0000 (15:19 +0000)]
Daniel Richard G.
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.
From-SVN: r220736
Richard Biener [Mon, 16 Feb 2015 14:53:23 +0000 (14:53 +0000)]
re PR lto/65015 (LTO produces randomly ordered debug information)
2015-02-16 Richard Biener <rguenther@suse.de>
PR lto/65015
* varasm.c (default_file_start): For LTO produced units
emit <artificial> as file directive.
From-SVN: r220735
Richard Biener [Mon, 16 Feb 2015 14:52:14 +0000 (14:52 +0000)]
re PR tree-optimization/63593 (ICE: verify_gimple failed: incompatible types in PHI argument 0 with -O3 -fno-tree-vectorize)
2015-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/63593
* tree-predcom.c (execute_pred_commoning_chain): Delay removing
stmts and releasing SSA names until...
(execute_pred_commoning): ... after processing all chains.
* gcc.dg/pr63593.c: New testcase.
From-SVN: r220734
Jan Hubicka [Mon, 16 Feb 2015 12:28:40 +0000 (13:28 +0100)]
re PR ipa/65059 (Chrome LTO: lto1: internal compiler error: in ipa_comdats, at ipa-comdats.c:360)
Fix PR ipa/65059.
PR ipa/65059
* ipa-comdats.c (ipa_comdats): Do not categorize thunks to
external functions.
From-SVN: r220733
Marek Polacek [Mon, 16 Feb 2015 11:16:33 +0000 (11:16 +0000)]
re PR c/65066 (ICE: Segmentation fault with -Wformat=2)
PR c/65066
* c-format.c (check_format_types): Handle null param.
* gcc.dg/pr65066.c: New test.
From-SVN: r220732
Ilya Enkovich [Mon, 16 Feb 2015 10:03:26 +0000 (10:03 +0000)]
pr65002.C: Move ...
gcc/testsuite/
* gcc.dg/pr65002.C: Move ...
* g++.dg/ipa/pr65002.C: ... here.
From-SVN: r220731
Sandra Loosemore [Mon, 16 Feb 2015 03:47:54 +0000 (22:47 -0500)]
bugreport.texi: Adjust section titles throughout the file to use "Title Case".
2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/bugreport.texi: Adjust section titles throughout the file
to use "Title Case".
* doc/extend.texi: Likewise.
* doc/gcov.texi: Likewise.
* doc/implement-c.texi: Likewise.
* doc/implement-cxx.texi: Likewise.
* doc/invoke.texi: Likewise.
* doc/objc.texi: Likewise.
* doc/standards.texi: Likewise.
* doc/trouble.texi: Likewise.
From-SVN: r220722
GCC Administrator [Mon, 16 Feb 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220721
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.
From-SVN: r220718
John David Anglin [Sun, 15 Feb 2015 15:18:47 +0000 (15:18 +0000)]
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.
From-SVN: r220716
David Edelsohn [Sun, 15 Feb 2015 04:01:29 +0000 (23:01 -0500)]
pr64205.c: Skip on AIX.
* gcc.target/powerpc/pr64205.c: Skip on AIX.
* gcc.target/powerpc/pr64505.c: Skip on AIX.
* gcc.dg/torture/builtin-noret-1.c: Ignore AIX linker warnings.
* gcc.dg/torture/builtin-noret-2.c: Ignore AIX linker warnings.
From-SVN: r220715
GCC Administrator [Sun, 15 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220714
Kaz Kojima [Sat, 14 Feb 2015 23:50:25 +0000 (23:50 +0000)]
re PR testsuite/64850 (FAIL: gfortran.dg/goacc/acc_on_device-1.f95 -O scan-rtl-dump-times expand "\\(call [^\\n]*\\"acc_on_device" 4)
PR testsuite/64850
Tweak acc_on_device* tests.
From-SVN: r220711
Jan Hubicka [Sat, 14 Feb 2015 23:46:25 +0000 (00:46 +0100)]
ipa-inline-analysis.c (growth_data): Add uninlinable field.
* ipa-inline-analysis.c (growth_data): Add uninlinable field.
(do_estimate_growth_1): Record if any uninlinable edge was seen.
(estimate_growth): Handle uninlinable edges correctly.
(check_callers): New.
(growth_likely_positive): Handle aliases correctly.
From-SVN: r220710
Jan Hubicka [Sat, 14 Feb 2015 18:42:49 +0000 (19:42 +0100)]
ipa-chkp.c: Use iterate_direct_aliases.
* ipa-chkp.c: Use iterate_direct_aliases.
* symtab.c (resolution_used_from_other_file_p): Move inline.
(symtab_node::create_reference): Fix formating.
(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
(symtab_node::iterate_reference): Move inline.
(symtab_node::iterate_referring): Move inline.
(symtab_node::iterate_direct_aliases): Move inline.
(symtab_node::used_from_object_file_p_worker): Inline into ...
(symtab_node::used_from_object_file_p): ... this one; move inline.
(symtab_node::call_for_symbol_and_aliases): Move inline;
use iterate_direct_aliases.
(symtab_node::call_for_symbol_and_aliases_1): New method.
(cgraph_node::call_for_symbol_and_aliases): Move inline;
use iterate_direct_aliases.
(cgraph_node::call_for_symbol_and_aliases_1): New method.
(varpool_node::call_for_node_and_aliases): Rename to ...
(varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
use iterate_direct_aliases.
(varpool_node::call_for_symbol_and_aliases_1): New method.
* ipa.c (ipa_single_use): Use iterate_direct_aliases.
(ipa_discover_readonly_nonaddressable_var): Update.
* ipa-devirt.c: Fix formating.
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
Move inline.
(cgraph_node::call_for_symbol_and_aliases): Move inline.
(cgraph_node::call_for_symbol_and_aliases_1): New function..
* cgraph.h (used_from_object_file_p_worker): Remove.
(resolution_used_from_other_file_p): Move inline.
(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
(symtab_node::iterate_reference): Move inline.
(symtab_node::iterate_referring): Move inline.
(symtab_node::iterate_direct_aliases): Move inline.
(symtab_node::used_from_object_file_p_worker): Inline into ...
(symtab_node::used_from_object_file_p): Move inline.
* tree-emutls.c (ipa_lower_emutls): Update.
* varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
(varpool_node::call_for_node_and_aliases): Remove.
From-SVN: r220709
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.
From-SVN: r220708
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.
From-SVN: r220706
GCC Administrator [Sat, 14 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220705
Paolo Carlini [Fri, 13 Feb 2015 23:57:10 +0000 (23:57 +0000)]
re PR c++/60894 (Use of redundant struct keyword in function prototype combined with using statement causes compilation error)
/cp
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60894
* decl.c (lookup_and_check_tag): Use strip_using_decl.
/testsuite
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60894
* g++.dg/lookup/using54.C: New.
From-SVN: r220702
Jeff Law [Fri, 13 Feb 2015 23:53:54 +0000 (16:53 -0700)]
re PR bootstrap/65060 (r220696 breaks bootstrap on Linux/x86-32)
PR bootstrap/65060
Revert my change for tree-optimization/64823.
From-SVN: r220701
Jakub Jelinek [Fri, 13 Feb 2015 23:20:31 +0000 (00:20 +0100)]
re PR tree-optimization/65053 (PostgreSQL miscompilation)
PR tree-optimization/65053
* tree-ssa-phiopt.c (value_replacement): When moving assign before
cond, either reset VR on lhs or set it to phi result VR.
* gcc.c-torture/execute/pr65053-1.c: New test.
* gcc.c-torture/execute/pr65053-2.c: New test.
From-SVN: r220700
Marek Polacek [Fri, 13 Feb 2015 22:07:36 +0000 (22:07 +0000)]
re PR c/65050 (Show the type for "array type has incomplete element type" error)
PR c/65050
* c-decl.c (grokdeclarator): Print also the type when giving
the error message about array's incomplete element type.
* gcc.dg/pr65050.c: New test.
From-SVN: r220698
Jason Merrill [Fri, 13 Feb 2015 22:07:30 +0000 (17:07 -0500)]
re PR c++/65054 (internal compiler error: in maybe_constant_value, at cp/constexpr.c:3646)
PR c++/65054
* pt.c (template_args_equal): Look through conversions here.
* tree.c (cp_tree_equal): Not here.
From-SVN: r220697
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.
From-SVN: r220696
Jeff Law [Fri, 13 Feb 2015 20:17:55 +0000 (13:17 -0700)]
re PR rtl-optimization/47477 (Sub-optimal mov at end of method)
PR rtl-optimization/47477
* match.pd (convert (plus/minus (convert @0) (convert @1): New
simplifier to narrow arithmetic.
PR rtl-optimization/47477
* gcc.dg/tree-ssa/pr47477.c: New test.
From-SVN: r220695
Jan Hubicka [Fri, 13 Feb 2015 20:05:39 +0000 (21:05 +0100)]
re PR ipa/65028 (450.soplex in SPEC CPU 2006 is miscompiled)
PR ipa/65028
* ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
polymorphic call info when type is not known to be preserved.
From-SVN: r220694
Martin Jambor [Fri, 13 Feb 2015 20:04:32 +0000 (20:04 +0000)]
re PR ipa/65028 (450.soplex in SPEC CPU 2006 is miscompiled)
PR ipa/65028
* ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
(inline_call): Use it.
From-SVN: r220693
Paolo Carlini [Fri, 13 Feb 2015 17:57:13 +0000 (17:57 +0000)]
re PR c++/60211 (ICE with #pragma GCC ivdep and for-loop on global scope)
/cp
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60211
* parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
pragma_external context.
/testsuite
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60211
* g++.dg/parse/ivdep-2.C: New.
* g++.dg/parse/ivdep-3.C: Likewise.
From-SVN: r220689
Jerry DeLisle [Fri, 13 Feb 2015 17:09:04 +0000 (17:09 +0000)]
re PR fortran/64506 (FORMAT Parse Error with Continuation Line)
2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/64506
* gfortran.dg/continuation_13.f90: New test.
* gfortran.dg/continuation_14.f: New test.
From-SVN: r220688
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.
From-SVN: r220687
Thomas Schwinge [Fri, 13 Feb 2015 16:20:01 +0000 (17:20 +0100)]
GOMP_TARGET_* have been renamed to GOMP_DEVICE_* some time ago.
gcc/
* config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
GOMP_DEVICE_NVIDIA_PTX.
From-SVN: r220686
Jason Merrill [Fri, 13 Feb 2015 16:02:31 +0000 (11:02 -0500)]
re PR c++/65051 (r210436 regression?)
PR c++/65051
* call.c (reference_binding): Don't look for bad conversion
if TO is incomplete.
From-SVN: r220685
Paolo Carlini [Fri, 13 Feb 2015 14:54:48 +0000 (14:54 +0000)]
re PR c++/64970 (Hard error instead of SFINAE for expression in nested template alias)
/cp
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64970
* decl.c (make_typename_type): Pass tsubst_flags_t argument
to lookup_template_class.
/testsuite
2015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64970
* g++.dg/cpp0x/sfinae55.C: New.
From-SVN: r220684
Jakub Jelinek [Fri, 13 Feb 2015 14:42:30 +0000 (15:42 +0100)]
re PR ipa/65034 (ICE (segfault) on arm-linux-gnueabihf)
PR ipa/65034
* stmt.c (emit_case_nodes): Use void_type_node instead of
NULL_TREE as LABEL_DECL type.
* decl.c (start_preparsed_function): Use void_type_node instead
of NULL_TREE as LABEL_DECL type.
* g++.dg/ipa/pr65034.C: New test.
From-SVN: r220683
Matthew Wahab [Fri, 13 Feb 2015 13:42:06 +0000 (13:42 +0000)]
isctype.cc (test01): Fix mixed line-endings introduced in last change.
* testsuite/28_regex/traits/char/isctype.cc (test01): Fix
mixed line-endings introduced in last change.
From-SVN: r220682
John David Anglin [Fri, 13 Feb 2015 13:06:54 +0000 (13:06 +0000)]
constraints.md: Change "Q" and "T" constraints to memory constraints.
* config/pa/constraints.md: Change "Q" and "T" constraints to memory
constraints.
* config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
symbolic references to data to be forced to constant memory on the
SOM target.
From-SVN: r220680
Ilya Enkovich [Fri, 13 Feb 2015 09:44:07 +0000 (09:44 +0000)]
re PR tree-optimization/65002 (ICE: Segmentation fault)
gcc/
PR tree-optimization/65002
* tree-cfg.c (pass_data_fixup_cfg): Don't update
SSA on start.
* tree-sra.c (some_callers_have_no_vuse_p): New.
(ipa_early_sra): Reject functions whose callers
assume function is read only.
gcc/testsuite/
PR tree-optimization/65002
* gcc.dg/pr65002.C: New.
From-SVN: r220679
Richard Biener [Fri, 13 Feb 2015 09:35:57 +0000 (09:35 +0000)]
re PR lto/65015 (LTO produces randomly ordered debug information)
2015-02-13 Richard Biener <rguenther@suse.de>
PR lto/65015
* dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
for LTO produced CUs.
From-SVN: r220678
Marek Polacek [Fri, 13 Feb 2015 07:56:14 +0000 (07:56 +0000)]
re PR c/65040 (gcc-5 -Wformat broken)
PR c/65040
* c-format.c (check_format_types): Don't warn about different
signedness if the original value is in the range of WANTED_TYPE.
* c-c++-common/pr65040.c: New test.
From-SVN: r220677
Bin Cheng [Fri, 13 Feb 2015 05:44:46 +0000 (05:44 +0000)]
re PR tree-optimization/64705 (Bad code generation of sieve on x86-64 because of too aggressive IV optimizations)
PR tree-optimization/64705
* tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
* tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
* tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
(find_bivs, find_givs_in_stmt_scev): Pass new argument to
expand_simple_operations.
testsuite
PR tree-optimization/64705
* gcc.dg/tree-ssa/pr64705.c: New test.
From-SVN: r220676
Jason Merrill [Fri, 13 Feb 2015 05:26:37 +0000 (00:26 -0500)]
re PR c++/64956 (__GXX_ABI_VERSION needs a proper definition for the 5.x releases)
PR c++/64956
* c-opts.c (c_common_post_options): Change flag_abi_version from 0
to the current highest version.
* c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
From-SVN: r220675
H.J. Lu [Fri, 13 Feb 2015 04:52:45 +0000 (04:52 +0000)]
re PR rtl-optimization/32219 (optimizer causes wrong code in pic/hidden/weak symbol checking.)
PR rtl/32219
gcc/
* cgraphunit.c (cgraph_node::finalize_function): Set definition
before notice_global_symbol.
(varpool_node::finalize_decl): Likewise.
* varasm.c (default_binds_local_p_2): Rename from
default_binds_local_p_1, add weak_dominate argument. Use direct
returns instead of assigning to local variable. Unify varpool and
cgraph paths via symtab_node. Reject undef weak variables before
testing visibility. Reorder tests for simplicity.
(default_binds_local_p): Use default_binds_local_p_2.
(default_binds_local_p_1): Likewise.
(decl_binds_to_current_def_p): Unify varpool and cgraph paths
via symtab_node.
(default_elf_asm_output_external): Emit visibility when specified.
gcc/testsuite/
* gcc.dg/visibility-22.c: New test.
* gcc.dg/visibility-23.c: New test.
* gcc.target/i386/pr32219-1.c: New test.
* gcc.target/i386/pr32219-2.c: New test.
* gcc.target/i386/pr32219-3.c: New test.
* gcc.target/i386/pr32219-4.c: New test.
* gcc.target/i386/pr32219-5.c: New test.
* gcc.target/i386/pr32219-6.c: New test.
* gcc.target/i386/pr32219-7.c: New test.
* gcc.target/i386/pr32219-8.c: New test.
* gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r220674
Jerry DeLisle [Fri, 13 Feb 2015 02:57:03 +0000 (02:57 +0000)]
re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")
2015-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/57822
* gfortran/fmt_g0_7.f08: Adjust for archtectures with less than
four different KINDs.
From-SVN: r220673
Alan Modra [Fri, 13 Feb 2015 00:21:39 +0000 (10:51 +1030)]
rs6000.c (rs6000_emit_epilogue): Fix typo in code setting up r11 for out-of-line fp restore.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
code setting up r11 for out-of-line fp restore.
From-SVN: r220672
GCC Administrator [Fri, 13 Feb 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r220671
Eric Botcazou [Thu, 12 Feb 2015 23:17:21 +0000 (23:17 +0000)]
visium.opt (msv-mode): Add RejectNegative and Report.
* config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
(muser-mode): Likewise.
From-SVN: r220667
Jason Merrill [Thu, 12 Feb 2015 22:44:38 +0000 (17:44 -0500)]
re PR c++/64898 (qtgui-4.8.6 build error)
PR c++/64898
* mangle.c (write_mangled_name): Fix test for variable template
instantiation.
From-SVN: r220666
Alan Modra [Thu, 12 Feb 2015 21:39:36 +0000 (08:09 +1030)]
rs6000.c (rs6000_emit_epilogue): Use addsi3_carry or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
From-SVN: r220665
Jakub Jelinek [Thu, 12 Feb 2015 21:33:37 +0000 (22:33 +0100)]
re PR c++/64884 (FAIL: g++.dg/tm/pr47573.C -std=gnu++98 (test for excess errors) on x86_64-apple-darwin*)
PR c++/64884
* g++.dg/tm/pr47573.C: Only run on comdat_group effective targets.
From-SVN: r220664
Jakub Jelinek [Thu, 12 Feb 2015 21:30:56 +0000 (22:30 +0100)]
re PR sanitizer/65000 (ICE in in expand_builtin_eh_common, at except.c:2072)
PR sanitizer/65000
* g++.dg/ubsan/pr65000.C: New test.
From-SVN: r220663
David Howells [Thu, 12 Feb 2015 21:29:21 +0000 (21:29 +0000)]
tree-sra.c (dump_dereferences_table): Avoid -Wformat-security warning.
* tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
warning.
* tree-ssa-uninit.c (dump_predicates): Likewise.
* opts.c (print_filtered_help): Likewise.
From-SVN: r220662
Jakub Jelinek [Thu, 12 Feb 2015 21:20:19 +0000 (22:20 +0100)]
dwarf2out.c (output_die): Use "%s", name instead of name to avoid -Wformat-security warning.
* dwarf2out.c (output_die): Use "%s", name instead of name to
avoid -Wformat-security warning.
From-SVN: r220661
Jakub Jelinek [Thu, 12 Feb 2015 21:19:47 +0000 (22:19 +0100)]
dwarf2asm.c (dw2_asm_output_vms_delta): Only define if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
* dwarf2asm.c (dw2_asm_output_vms_delta): Only define
if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
* dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
From-SVN: r220660
Jason Merrill [Thu, 12 Feb 2015 20:29:03 +0000 (15:29 -0500)]
typo
From-SVN: r220658
Jason Merrill [Thu, 12 Feb 2015 20:28:41 +0000 (15:28 -0500)]
common.opt (-flifetime-dse): New.
gcc/
* common.opt (-flifetime-dse): New.
gcc/cp/
* decl.c (begin_destructor_body): Condition clobber on
-flifetime-dse.
From-SVN: r220657
Andrea Azzarone [Thu, 12 Feb 2015 20:21:34 +0000 (20:21 +0000)]
re PR c++/64959 (SFINAE in UDLs)
PR c++/64959
* parser.c (lookup_literal_operator): Return all candidates.
(cp_parser_userdef_char_literal): Simplify error handling.
(cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
(cp_parser_userdef_string_literal): Pass tf_warning_or_error.
Also give higher priority to standard string UDL operator.
From-SVN: r220656
Jason Merrill [Thu, 12 Feb 2015 20:20:30 +0000 (15:20 -0500)]
* testsuite/28_regex/traits/wchar_t/isctype.cc: Fix whitespace.
From-SVN: r220655
Paul Thomas [Thu, 12 Feb 2015 19:30:53 +0000 (19:30 +0000)]
re PR fortran/64932 (ICE in gfc_conv_descriptor_data_get for generated finalizer)
2015-02-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/64932
* trans-stmt.c (gfc_trans_deallocate): If a component array
expression is not a descriptor type and it is a derived type
that has allocatable components and is not finalizable, then
deallocate the allocatable components.
2015-02-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/64932
* gfortran.dg/finalize_28.f90: New test
From-SVN: r220654