platform/upstream/linaro-gcc.git
9 years ago2015-04-22 Yury Gribov <y.gribov@samsung.com>
ygribov [Wed, 22 Apr 2015 11:44:26 +0000 (11:44 +0000)]
2015-04-22  Yury Gribov  <y.gribov@samsung.com>

Allow wildcards in -fsanitize-sections.

gcc/
* asan.c (set_sanitized_sections): Parse incoming arg.
(section_sanitized_p): Support wildcards.
* doc/invoke.texi (-fsanitize-sections): Update description.

gcc/testsuite/
* c-c++-common/asan/user-section-1.c: New test.
* c-c++-common/asan/user-section-2.c: New test.
* c-c++-common/asan/user-section-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222322 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix va_arg ap_copy nop detection
vries [Wed, 22 Apr 2015 09:03:01 +0000 (09:03 +0000)]
Fix va_arg ap_copy nop detection

2015-04-22  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65823
* gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
equality between ap_copy and ap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222318 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/47098 OBSD_LIB_SPEC on i686-openbsd3 missing
aldot [Wed, 22 Apr 2015 08:41:13 +0000 (08:41 +0000)]
PR target/47098 OBSD_LIB_SPEC on i686-openbsd3 missing

config-list.mk for i686-*-openbsd3.0 failed with:

gcc/config/openbsd.h:143:18: error: ‘OBSD_LIB_SPEC’ was not declared in this scope
 #define LIB_SPEC OBSD_LIB_SPEC
                  ^
gcc/gcc.c:879:31: note:
in expansion of macro ‘LIB_SPEC’
 static const char *lib_spec = LIB_SPEC;
                               ^
make[2]: *** [gcc.o] Error 1

i.e. openbsd-oldgas.h is only used on
i?86-*-openbsd2.*|i?86-*openbsd3.[0123] so add the OBSD_LIB_SPEC there

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222315 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/47122: vax-*-openbsd* config.gcc typo
aldot [Wed, 22 Apr 2015 08:30:15 +0000 (08:30 +0000)]
PR target/47122: vax-*-openbsd* config.gcc typo

Gerald / jsg typoed this in the initial r152218 a.k.a
8e6600a15374f9446d5026e8ef6b68e0d753fb6c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222314 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/55144
aldot [Wed, 22 Apr 2015 08:25:40 +0000 (08:25 +0000)]
PR target/55144

building all-gcc for bfin-linux-uclibc resulted in

build/genchecksum cp/cp-lang.o c-family/stub-objc.o ... glibc-c.o \
libbackend.a .. > cc1plus-checksum.c.tmp
opening glibc-c.o: No such file or directory
make[2]: *** [cc1-checksum.c] Error 1

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222313 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
aldot [Wed, 22 Apr 2015 08:20:32 +0000 (08:20 +0000)]
2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
Remove unneeded forward declarations.
(suitable_for_tail_call_opt_p): Commentary typo fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222312 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agovarasm.c (emit_bss): Remove redundant guard.
aldot [Wed, 22 Apr 2015 08:16:17 +0000 (08:16 +0000)]
varasm.c (emit_bss): Remove redundant guard.

The whole emit_bss is wrapped in ifdef ASM_OUTPUT_ALIGNED_BSS

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222311 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gennews (files): Add files for GCC 5.
jakub [Wed, 22 Apr 2015 08:14:03 +0000 (08:14 +0000)]
* gennews (files): Add files for GCC 5.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222309 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoc6x: handle c6x unk_isa in TARGET_CPU_CPP_BUILTINS
aldot [Wed, 22 Apr 2015 08:10:18 +0000 (08:10 +0000)]
c6x: handle c6x unk_isa in TARGET_CPU_CPP_BUILTINS

Fixes all-gcc for c6x config-list.mk that complained about

error: enumeration value ‘unk_isa’ not handled in switch

Maybe seeing unk_isa in the cpu switch statement should
__builtin_abort() but be conservative to just allow all-gcc of config-list.mk
to compile

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222308 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agobfin: handle BFIN_CPU_UNKNOWN in TARGET_CPU_CPP_BUILTINS
aldot [Wed, 22 Apr 2015 08:05:20 +0000 (08:05 +0000)]
bfin: handle BFIN_CPU_UNKNOWN in TARGET_CPU_CPP_BUILTINS

gcc/c-family/c-cppbuiltin.c
In file included from ./tm.h:21:0,
                 from
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:23:
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:
In function ‘void c_cpp_builtins(cpp_reader*)’:
../../../../../../home/me/src/gcc-5.0.mine/gcc/config/bfin/bfin.h:43:14:
error: enumeration value ‘BFIN_CPU_UNKNOWN’ not handled in switch
[-Werror=switch]
       switch (bfin_cpu_type)   \
              ^
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:1243:3:
note: in expansion of macro ‘TARGET_CPU_CPP_BUILTINS’
   TARGET_CPU_CPP_BUILTINS ();
   ^
cc1plus: all warnings being treated as errors
make[2]: *** [c-family/c-cppbuiltin.o] Error 1

Maybe seeing BFIN_CPU_UNKNOWN in the cpu switch statement should
__builtin_abort() but be conservative to just allow all-gcc of config-list.mk
to compile

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222307 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/ChangeLog:
xguo [Wed, 22 Apr 2015 07:21:35 +0000 (07:21 +0000)]
gcc/ChangeLog:
2015-04-22  Hale Wang  <hale.wang@arm.com>
            Terry Guo  <terry.guo@arm.com>

       PR rtl-optimization/64818
       * combine.c (can_combine_p): Don't combine user-specified
       register if it is in an asm input.

gcc/testsuite/ChangeLog
2015-04-22  Hale Wang  <hale.wang@arm.com>
            Terry Guo  <terry.guo@arm.com>

       PR rtl-optimization/64818
       * gcc.target/arm/pr64818.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222306 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ipa/65076
hubicka [Wed, 22 Apr 2015 01:32:14 +0000 (01:32 +0000)]
PR ipa/65076
* passes.def (early_optimizations): Add pass_dse.

* g++.dg/tree-ssa/pr61034.C: Update template.
* g++.dg/warn/Warray-bounds.C: Harden for DSE.
* gcc.dg/Warray-bounds-11.c: Likewise.
* gcc.dg/Warray-bounds.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222305 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default for INSN_REFERENCES_ARE_DELAYED
tbsaunde [Wed, 22 Apr 2015 00:45:20 +0000 (00:45 +0000)]
add default for INSN_REFERENCES_ARE_DELAYED

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
* reorg.c (redundant_insn): Remove ifdef
INSN_REFERENCES_ARE_DELAYED.
* resource.c (mark_referenced_resources): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222304 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for INSN_SETS_ARE_DELAYED
tbsaunde [Wed, 22 Apr 2015 00:45:11 +0000 (00:45 +0000)]
provide default for INSN_SETS_ARE_DELAYED

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (INSN_SETS_ARE_DELAYED): New definition.
* reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
* resource.c (mark_set_resources): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222303 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove more ifdefs for HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:45:06 +0000 (00:45 +0000)]
remove more ifdefs for HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
* cfgcleanup.c (flow_find_cross_jump): Likewise.
(flow_find_head_matching_sequence): Likewise.
(try_head_merge_bb): Likewise.
* combine.c (can_combine_p): Likewise.
(try_combine): Likewise.
(distribute_notes): Likewise.
* df-problems.c (can_move_insns_across): Likewise.
* final.c (final): Likewise.
* gcse.c (insert_insn_end_basic_block): Likewise.
* ira.c (find_moveable_pseudos): Likewise.
* reorg.c (try_merge_delay_insns): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
* sched-deps.c (sched_analyze_2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222302 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove #if for PIC_OFFSET_TABLE_REGNUM
tbsaunde [Wed, 22 Apr 2015 00:44:59 +0000 (00:44 +0000)]
remove #if for PIC_OFFSET_TABLE_REGNUM

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* df-scan.c (df_get_entry_block_def_set): Remove #ifdef
PIC_OFFSET_TABLE_REGNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222301 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoreduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER
tbsaunde [Wed, 22 Apr 2015 00:44:54 +0000 (00:44 +0000)]
reduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* alias.c (init_alias_target): Remove ifdef
* HARD_FRAME_POINTER_IS_FRAME_POINTER.
* df-scan.c (df_insn_refs_collect): Likewise.
(df_get_regular_block_artificial_uses): Likewise.
(df_get_eh_block_artificial_uses): Likewise.
(df_get_entry_block_def_set): Likewise.
(df_get_exit_block_use_set): Likewise.
* emit-rtl.c (gen_rtx_REG): Likewise.
* ira.c (ira_setup_eliminable_regset): Likewise.
* reginfo.c (init_reg_sets_1): Likewise.
* regrename.c (rename_chains): Likewise.
* reload1.c (reload): Likewise.
(eliminate_regs_in_insn): Likewise.
* resource.c (mark_referenced_resources): Likewise.
(init_resource_info): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222300 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for MASK_RETURN_ADDR
tbsaunde [Wed, 22 Apr 2015 00:44:48 +0000 (00:44 +0000)]
provide default for MASK_RETURN_ADDR

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (MASK_RETURN_ADDR): New definition.
* except.c (expand_builtin_extract_return_addr): Remove ifdef
MASK_RETURN_ADDR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222299 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for RETURN_ADDR_OFFSET
tbsaunde [Wed, 22 Apr 2015 00:44:43 +0000 (00:44 +0000)]
provide default for RETURN_ADDR_OFFSET

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (RETURN_ADDR_OFFSET): New definition.
* except.c (expand_builtin_extract_return_addr): Remove ifdef
RETURN_ADDR_OFFSET.
(expand_builtin_frob_return_addr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222298 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomake some HAVE_cc0 code always compiled
tbsaunde [Wed, 22 Apr 2015 00:44:37 +0000 (00:44 +0000)]
make some HAVE_cc0 code always compiled

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
(try_redirect_by_replacing_jump): Likewise.
(rtl_tidy_fallthru_edge): Likewise.
* combine.c (insn_a_feeds_b): Likewise.
(find_split_point): Likewise.
(simplify_set): Likewise.
* cprop.c (cprop_jump): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* df-problems.c (can_move_insns_across): Likewise.
* function.c (emit_use_return_register_into_block): Likewise.
* haifa-sched.c (sched_init): Likewise.
* ira.c (find_moveable_pseudos): Likewise.
* loop-invariant.c (find_invariant_insn): Likewise.
* lra-constraints.c (curr_insn_transform): Likewise.
* postreload.c (reload_combine_recognize_const_pattern):
* Likewise.
* reload.c (find_reloads): Likewise.
* reorg.c (delete_scheduled_jump): Likewise.
(steal_delay_list_from_target): Likewise.
(steal_delay_list_from_fallthrough): Likewise.
(redundant_insn): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(delete_computation): Likewise.
* sched-rgn.c (add_branch_dependences): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222297 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoalways define HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:44:27 +0000 (00:44 +0000)]
always define HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genconfig.c (main): Always define HAVE_cc0.
* caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
HAVE_cc0.
* cfgcleanup.c (flow_find_cross_jump): Likewise.
(flow_find_head_matching_sequence): Likewise.
(try_head_merge_bb): Likewise.
* cfgrtl.c (rtl_merge_blocks): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(rtl_tidy_fallthru_edge): Likewise.
* combine.c (do_SUBST_MODE): Likewise.
(insn_a_feeds_b): Likewise.
(combine_instructions): Likewise.
(can_combine_p): Likewise.
(try_combine): Likewise.
(find_split_point): Likewise.
(subst): Likewise.
(simplify_set): Likewise.
(distribute_notes): Likewise.
* cprop.c (cprop_jump): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* df-problems.c (can_move_insns_across): Likewise.
* final.c (final): Likewise.
(final_scan_insn): Likewise.
* function.c (emit_use_return_register_into_block): Likewise.
* gcse.c (insert_insn_end_basic_block): Likewise.
* haifa-sched.c (sched_init): Likewise.
* ira.c (find_moveable_pseudos): Likewise.
* loop-invariant.c (find_invariant_insn): Likewise.
* lra-constraints.c (curr_insn_transform): Likewise.
* optabs.c (prepare_cmp_insn): Likewise.
* postreload.c (reload_combine_recognize_const_pattern):
* Likewise.
* reload.c (find_reloads): Likewise.
(find_reloads_address_1): Likewise.
* reorg.c (delete_scheduled_jump): Likewise.
(steal_delay_list_from_target): Likewise.
(steal_delay_list_from_fallthrough): Likewise.
(try_merge_delay_insns): Likewise.
(redundant_insn): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(delete_computation): Likewise.
(relax_delay_slots): Likewise.
* sched-deps.c (sched_analyze_2): Likewise.
* sched-rgn.c (add_branch_dependences): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222296 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove more ifdef HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:44:20 +0000 (00:44 +0000)]
remove more ifdef HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
that is trivially ded on non cc0 targets.
(simplify_set): Likewise.
(mark_used_regs_combine): Likewise.
* cse.c (new_basic_block): Likewise.
(fold_rtx): Likewise.
(cse_insn): Likewise.
(cse_extended_basic_block): Likewise.
(set_live_p): Likewise.
* rtlanal.c (canonicalize_condition): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222295 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove some ifdef HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:44:15 +0000 (00:44 +0000)]
remove some ifdef HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* conditions.h: Define macros even if HAVE_cc0 is undefined.
* emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
* final.c: Likewise.
* jump.c: Likewise.
* recog.c: Likewise.
* recog.h: Declare functions even when HAVE_cc0 is undefined.
* sched-deps.c (sched_analyze_2): Always compile case for cc0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222294 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default definition of EH_RETURN_DATA_REGNO
tbsaunde [Wed, 22 Apr 2015 00:44:08 +0000 (00:44 +0000)]
add default definition of EH_RETURN_DATA_REGNO

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h: New definition of EH_RETURN_DATA_REGNO.
* except.c: Remove definition of EH_RETURN_DATA_REGNO.
* builtins.c (expand_builtin): Remove check if
EH_RETURN_DATA_REGNO is defined.
* df-scan.c (df_bb_refs_collect): Likewise.
(df_get_exit_block_use_set): Likewise.
* haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
* ira-lives.c (process_bb_node_lives): Likewise.
* lra-lives.c (process_bb_lives): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222293 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 22 Apr 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222292 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 18:28:39 +0000 (18:28 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/65234
* gfortran.dg/fmt_unlimited.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222276 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 18:23:20 +0000 (18:23 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/65234
* io/format.c (parse_format_list): Set the seen_dd flag in all
cases where a data descriptor has been seen.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222274 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual
andreast [Tue, 21 Apr 2015 16:53:23 +0000 (16:53 +0000)]
* gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual
    headers.
    * gcc.target/i386/avx512bw-vpermt2w-2.c: Likewise.
    * gcc.target/i386/avx512bw-vpmaddubsw-2.c: Likewise.
    * gcc.target/i386/avx512bw-vpmaddwd-2.c: Likewise.
    * gcc.target/i386/avx512dq-vfpclasspd-2.c: Likewise.
    * gcc.target/i386/avx512dq-vfpclassps-2.c: Likewise.
    * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Likewise.
    * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222273 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 16:33:27 +0000 (16:33 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/56743
* gfortran.dg/namelist_87.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222272 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 16:13:54 +0000 (16:13 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/56743
* io/list_read.c (CASE_SEPARATORS): Add case for '!'.
(is_separator): Add condition for '!'.
(eat_separator): Use notify_std to warn or errord if '!' is
encountered before a proper separator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222271 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
uros [Tue, 21 Apr 2015 13:30:56 +0000 (13:30 +0000)]
* config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
FIRST_PSEUDO_REG): New.
* config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
(ARG_POINTER_REGNUM): Define to ARGP_REG.
(FRAME_POINTER_REGNUM): Define to FRAME_REG.
(HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
(FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
(FIRST_INT_REG): New.
(LAST_INT_REG): New.
(FIRST_*_REG): Define using *_REG.
(LAST_*_REG): Ditto.
(QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
(LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
(FIRST_FLOAT_REG): Define to FIRST_STACK_REG.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222269 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[expmed] Properly account for the cost and latency of shift+add ops when synthesizing...
ktkachov [Tue, 21 Apr 2015 12:56:39 +0000 (12:56 +0000)]
[expmed] Properly account for the cost and latency of shift+add ops when synthesizing mults

        * expmed.c: (synth_mult): Only assume overlapping
        shift with previous steps in alg_sub_t_m2 case.

        * gcc.target/aarch64/mult-synth_1.c: New test.
        * gcc.target/aarch64/mult-synth_2.c: Likewise.
        * gcc.target/aarch64/mult-synth_3.c: Likewise.
        * gcc.target/aarch64/mult-synth_4.c: Likewise.
        * gcc.target/aarch64/mult-synth_5.c: Likewise.
        * gcc.target/aarch64/mult-synth_6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222268 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 12:52:43 +0000 (12:52 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65650
* tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
transitions involving copies.
(set_lattice_value): Adjust for copy lattice state.
(ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
if that doesn't dominate the merge point.
(bit_value_unop): Adjust what we treat as varying mask.
(bit_value_binop): Likewise.
(bit_value_assume_aligned): Likewise.
(evaluate_stmt): When we simplified to a SSA name record a copy
instead of dropping to varying.
(visit_assignment): Simplify.

* gimple-match.h (gimple_simplify): Add another callback.
* gimple-fold.c (fold_stmt_1): Adjust caller.
(gimple_fold_stmt_to_constant_1): Likewise - pass valueize
for the 2nd callback.
* gimple-match-head.c (gimple_simplify): Add a callback that is
used to valueize the stmt operands and use it that way.

* gcc.dg/tree-ssa/ssa-ccp-37.c: New testcase.
* gcc.dg/tree-ssa/forwprop-11.c: Adjust.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222267 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 12:38:32 +0000 (12:38 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65788
* tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222266 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 12:21:21 +0000 (12:21 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

* config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
vec_construct cost by vec_stmt_cost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222265 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 11:40:46 +0000 (11:40 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

* cfghooks.h (create_basic_block): Replace with two overloads
for RTL and GIMPLE.
(split_block): Likewise.
* cfghooks.c (split_block): Rename to ...
(split_block_1): ... this.
(split_block): Add two type-safe overloads for RTL and GIMPLE.
(split_block_after_labels): Call split_block_1.
(create_basic_block): Rename to ...
(create_basic_block_1): ... this.
(create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
(create_empty_bb): Call create_basic_block_1.
* cfgrtl.c (fixup_fallthru_exit_predecessor): Use
split_block_after_labels.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_target): Likewise.
(simd_clone_adjust): Likewise.
* tree-chkp.c (chkp_get_entry_block): Likewise.
* cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
create_basic_block overload.
(cgraph_node::expand_thunk): Likewise.
* tree-cfg.c (make_blocks): Likewise.
(handle_abnormal_edges): Likewise.
* tree-inline.c (copy_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222264 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Add zero_extend variants of logical+not ops
ktkachov [Tue, 21 Apr 2015 11:24:05 +0000 (11:24 +0000)]
[AArch64] Add zero_extend variants of logical+not ops

* config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
New pattern.
(*xor_one_cmplsidi3_ze): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222263 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/configure.xml: Update descriptions of options
redi [Tue, 21 Apr 2015 10:38:43 +0000 (10:38 +0000)]
* doc/xml/manual/configure.xml: Update descriptions of options
affecting dual ABI and add cross-references.
* doc/xml/manual/strings.xml: Clarify that string isn't COW now.
* doc/xml/manual/using.xml: Document ABI transition.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222262 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
redi [Tue, 21 Apr 2015 10:27:18 +0000 (10:27 +0000)]
* doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
* doc/xml/manual/using.xml: Document newer -std options. Use better
examples of nested namespaces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222261 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Tue, 21 Apr 2015 10:23:25 +0000 (10:23 +0000)]
2015-04-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
    use df_remove_problem rather than manually removing problems, leaving
    holes in df->problems_in_order[].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222260 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMark ifn_va_arg with ECF_NOTHROW
vries [Tue, 21 Apr 2015 08:43:07 +0000 (08:43 +0000)]
Mark ifn_va_arg with ECF_NOTHROW

2015-04-21  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65802
* internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.

* g++.dg/pr65802.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222259 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Increase static buffer size in aarch64_rewrite_selected_cpu
ktkachov [Tue, 21 Apr 2015 08:14:22 +0000 (08:14 +0000)]
[AArch64] Increase static buffer size in aarch64_rewrite_selected_cpu

* common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
Increase to 128.
(aarch64_rewrite_selected_cpu): Do not chop off extensions starting
at '.'.  Assert that there's enough space for everything.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222258 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/64950
uros [Tue, 21 Apr 2015 06:29:37 +0000 (06:29 +0000)]
PR tree-optimization/64950
Revert:
2010-08-02  Uros Bizjak  <ubizjak@gmail.com>

PR target/41089
* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
as volatile.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222257 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR rtl-optimization/64916
law [Tue, 21 Apr 2015 05:23:08 +0000 (05:23 +0000)]
   PR rtl-optimization/64916
        * cfgcleanup.c (values_equal_p): New function.
        (can_replace_by): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222256 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR testsuite/65767
amker [Tue, 21 Apr 2015 02:23:18 +0000 (02:23 +0000)]
PR testsuite/65767
* g++.dg/lto/pr65276_0.C: Change namespace std to std2.
* g++.dg/lto/pr65276_1.C: Change namespace std to std2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222255 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 21 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222254 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * MAINTAINERS (Various Maintainers): Add myself as instruction
segher [Mon, 20 Apr 2015 22:03:37 +0000 (22:03 +0000)]
* MAINTAINERS (Various Maintainers): Add myself as instruction
combiner maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222250 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Mon, 20 Apr 2015 21:46:59 +0000 (21:46 +0000)]
/cp
2015-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65801
* typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
suppresses the diagnostic.

2015-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65801
* doc/invoke.texi ([-Wnarrowing]): Update.

/testsuite
2015-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65801
* g++.dg/cpp0x/Wnarrowing2.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222249 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Reject trailing return type for an operator auto().
jason [Mon, 20 Apr 2015 20:44:25 +0000 (20:44 +0000)]
Reject trailing return type for an operator auto().
* decl.c (grokdeclarator): Reject trailing return types for
all conversion operators, don't handle conversion operators
in the previous checks that deal with auto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222248 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/65658
law [Mon, 20 Apr 2015 19:35:50 +0000 (19:35 +0000)]
   PR tree-optimization/65658
        * tree-ssa-threadupdate.c (redirection_block_p): Remove
        redundant test for GIMPLE_ASSIGN in last change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222247 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (set_pic_reg_ever_live): Remove.
uros [Mon, 20 Apr 2015 19:24:57 +0000 (19:24 +0000)]
* config/i386/i386.c (set_pic_reg_ever_live): Remove.
(legitimize_pic_address): Do not call set_pic_reg_ever_live.
(legitimize_tls_address): Ditto.
(ix86_expand_move): Ditto.
(ix86_expand_binary_operator): Remove reload_in_progress checks.
(ix86_expand_unary_operator): Ditto.
* config/i386/predicates.md (index_register_operand): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222246 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * reorg.c (try_merge_delay_insns): Improve correctness checking
law [Mon, 20 Apr 2015 17:47:10 +0000 (17:47 +0000)]
   * reorg.c (try_merge_delay_insns): Improve correctness checking
        for targets with multiple delay slots.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222245 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/65658
law [Mon, 20 Apr 2015 17:13:52 +0000 (17:13 +0000)]
PR tree-optimization/65658
* tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
statements too.

PR tree-optimization/65658
* gcc.dg/pr65658.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222242 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/c/
iverbin [Mon, 20 Apr 2015 14:55:27 +0000 (14:55 +0000)]
gcc/c/
* c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
(c_parser_omp_target_update): Add missed %> to error_at ().
gcc/cp/
* parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222237 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[Obvious][AArch64] Delete unused aarch64_simd_emit_pair_result_insn.
alalaw01 [Mon, 20 Apr 2015 13:35:35 +0000 (13:35 +0000)]
[Obvious][AArch64] Delete unused aarch64_simd_emit_pair_result_insn.

        * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
        * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
        Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222234 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/65807
jakub [Mon, 20 Apr 2015 13:30:01 +0000 (13:30 +0000)]
PR debug/65807
* dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222232 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-20 Richard Biener <rguenther@suse.de>
rguenth [Mon, 20 Apr 2015 13:23:59 +0000 (13:23 +0000)]
2015-04-20  Richard Biener  <rguenther@suse.de>

* gimple-fold.h (gimple_build): Remove optional valueize arguments.
* gimple-fold.c (gimple_build_valueize): New function.
(gimple_build): Always use gimple_build_valueize as valueize hook.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222231 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/concurrency_extensions.xml: Update documentation
redi [Mon, 20 Apr 2015 11:07:50 +0000 (11:07 +0000)]
* doc/xml/manual/concurrency_extensions.xml: Update documentation
on atomics.
* doc/xml/manual/using.xml: Likewise. Improve markup.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222230 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] PR/64134: Make aarch64_expand_vector_init use 'ins' more often
alalaw01 [Mon, 20 Apr 2015 10:29:26 +0000 (10:29 +0000)]
[AArch64] PR/64134: Make aarch64_expand_vector_init use 'ins' more often

gcc/:

PR target/64134
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
and overwrite variable parts if <= 1/2 the elements are variable.

gcc/testsuite/:

PR target/64134
* gcc.target/aarch64/vec_init_1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222229 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-20 Yvan Roux <yvan.roux@linaro.org>
yroux [Mon, 20 Apr 2015 09:18:12 +0000 (09:18 +0000)]
2015-04-20  Yvan Roux  <yvan.roux@linaro.org>

* gcc.target/arm/pr65729.c: Restrict to hard float ABI compliant
targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222228 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 20 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222227 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Sun, 19 Apr 2015 23:48:24 +0000 (23:48 +0000)]
2015-04-19  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/65805
* lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
Don't use difference of offset and previous offset if
update_sp_offset is non-zero.
(eliminate_regs_in_insn): Ditto.
* lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
lra_eliminate_regs_1 call.
* lra-constraints.c (get_equiv_with_elimination): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222223 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoCredit Jakub for PR65787 fix
wschmidt [Sun, 19 Apr 2015 15:17:43 +0000 (15:17 +0000)]
Credit Jakub for PR65787 fix

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222220 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 19 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222218 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gfortran.dg/pr32627.f03 (strptr): Change size to match the number
msebor [Sat, 18 Apr 2015 19:23:17 +0000 (19:23 +0000)]
* gfortran.dg/pr32627.f03 (strptr): Change size to match the number
of non-nul characters.
* gfortran.dg/substr_6.f90: Make the NUL character visible on stdout

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222214 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove need for store_values_directly
tbsaunde [Sat, 18 Apr 2015 18:13:18 +0000 (18:13 +0000)]
remove need for store_values_directly

This switches all hash_table users to use the layout that stores
elements of type value_type in the hash table instead of the one storing
value_type *.  Since it becomes unused support for the value_type *
layout is removed.

gcc/

* hash-table.h: Remove version of hash_table that stored value_type *.
* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.

libcc1/

* plugin.cc: Adjust for hash_table changes.

gcc/java/

* jcf-io.c: Adjust for hash_table changes.

gcc/lto/

* lto.c: Adjust for hash_table changes.

gcc/objc/

* objc-act.c: Adjust for hash_table changes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222213 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 18 Apr 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222212 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
wschmidt [Fri, 17 Apr 2015 22:05:12 +0000 (22:05 +0000)]
[gcc]

2015-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65787
* config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
subsequent SH_NONE operand does not overwrite an existing *special
value.
(adjust_extract): Handle case where a vec_extract operation is
wrapped in a PARALLEL.

[gcc/testsuite]

2015-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65787
* gcc.target/powerpc/pr65787.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222205 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/65798
ian [Fri, 17 Apr 2015 21:59:10 +0000 (21:59 +0000)]
PR go/65798
runtime: In Caller don't return ok == true if PC == 0.

GCC PR 65798 reports that this can happen in some cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222204 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDon't define ix86_binds_local_p for MacOS nor Windows
hjl [Fri, 17 Apr 2015 21:54:22 +0000 (21:54 +0000)]
Don't define ix86_binds_local_p for MacOS nor Windows

PR target/65780
* config/i386/i386.c (ix86_binds_local_p): Define only if
TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222201 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/64683
ian [Fri, 17 Apr 2015 21:29:20 +0000 (21:29 +0000)]
PR go/64683
runtime/pprof: Assume function with no name is in runtime.

GCC PR 65797 causes some of the runtime functions to be
compiled with no name in the debug info.  This in turn causes
the runtime/pprof test to fail as reported in GCC PR 64683.

There are no good choices when a function has no name in the
debug info, but here we assume that if we see such a function
while reading the runtime functions, we assume that it is also
a runtime function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222200 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/64999
ian [Fri, 17 Apr 2015 19:29:28 +0000 (19:29 +0000)]
PR go/64999
PR go/65180
runtime: Adjust libbacktrace PC value to what runtime.Callers expects.

From Lynn Boger.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222196 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/47679
law [Fri, 17 Apr 2015 19:24:17 +0000 (19:24 +0000)]
PR tree-optimization/47679
* Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
* tree-ssa-scopedtables.c: New file.
* tree-ssa-scopedtables.h: New file.
* tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
(const_and_copies): Change name/type.
(record_const_or_copy): Move into tree-ssa-scopedtables.c
(record_const_or_copy_1): Similarly.
(restore_vars_to_original_value): Similarly.
(pass_dominator::execute): Create and destroy const_and_copies table.
(thread_across_edge): Update passing of const_and_copies.
(record_temporary_equivalence): Use method calls rather than
manipulating const_and_copies directly.
(record_equality, cprop_into_successor_phis): Similarly.
(dom_opt_dom_walker::before_dom_children): Similarly.
(dom_opt_dom_walker::after_dom_children): Similarly.
(eliminate_redundant_computations): Similarly.
* tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
(record_temporary_equivalence): Likewise.
(invalidate_equivalences): Likewise.
(record_temporary_equivalences_from_phis): Update due to type
change of const_and_copies.  Use method calls rather than
manipulating the stack directly.
(record_temporary_equivalences_from_stmts_at_dest): Likewise.
(thread_through_normal_block, thread_across_edge): Likewise.
(thread_across_edge): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
* tree-vrp.c: Include tree-ssa-scopedtables.h.  Change type
of equiv_stack.
(identify_jump_threads): Update due to type change of equiv_stack.
(finalize_jump_threads): Delete the equiv_stack when complete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222195 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/65755
ian [Fri, 17 Apr 2015 18:19:44 +0000 (18:19 +0000)]
PR go/65755
compiler, runtime, reflect: Use reflection string for type comparisons.

Change the runtime and reflect libraries to always use only
the type reflection string to determine whether two types are
equal.  It previously used the PkgPath and Name values for a
type name, but that required a PkgPath that did not match the
gc compiler.

Change the compiler to use the same PkgPath value as the gc
compiler in all cases.

Change the compiler to put the receiver type in the reflection
string for a type defined inside a method.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222194 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
uros [Fri, 17 Apr 2015 17:59:24 +0000 (17:59 +0000)]
* config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
* config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
* config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222193 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/65535
andreast [Fri, 17 Apr 2015 17:50:46 +0000 (17:50 +0000)]
PR target/65535
* config.gcc: Exit with a comment when we do not have a major version
number for the FreeBSD target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222192 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: Escape analysis.
ian [Fri, 17 Apr 2015 17:10:12 +0000 (17:10 +0000)]
compiler: Escape analysis.

By Chris Manghane.

Comprises three changes to gofrontend repository:

compiler: Add escape information to export data.

compiler: Stack-allocate non-escaping variables.

This change allows variables initialized through make or new
to be allocated on the stack via a temporary variable if they
do not escape their function. It also improves the analysis to
consider situations where variables escape in the standard
library and go testsuite such as:

*nested composite literals and composite literal arguments
*method receivers always escaping
*escape via statements in closures referring to enclosing variables
*escape via calls with multiple return results

compiler: Basic escape analysis for the go frontend.

This is an implementation of the algorithm described in
"Escape Analysis in Java" by Choi et. al.

It relies on dataflow information to discover variable
references to one another. Handles assignments to closures
and association between closures variables and the variables
of the enclosing scope.

Dataflow analysis does not discover references through range
statements e.g. for _, v := range a will not recognize that
all values of v are references to a.

* Make-lang.in (GO_OBJS): Add go/escape.o.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222188 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR bootstrap/62077
jakub [Fri, 17 Apr 2015 17:09:20 +0000 (17:09 +0000)]
PR bootstrap/62077
* configure.ac (--enable-stage1-checking): Default to
release,misc,gimple,rtlflag,tree,types if --disable-checking
or --enable-checking is not specified and DEV-PHASE is not
experimental.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222187 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/65689
jakub [Fri, 17 Apr 2015 16:43:28 +0000 (16:43 +0000)]
PR target/65689
* genpreds.c (struct constraint_data): Add maybe_allows_reg and
maybe_allows_mem bitfields.
(maybe_allows_none_start, maybe_allows_none_end,
maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
maybe_allows_mem_end): New variables.
(compute_maybe_allows): New function.
(add_constraint): Use it to initialize maybe_allows_reg and
maybe_allows_mem fields.
(choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
is_address constraints such that those that allow neither mem nor
reg come first, then those that only allow reg but not mem, then
those that only allow mem but not reg, then the rest.
(write_allows_reg_mem_function): New function.
(write_tm_preds_h): Call it.
* stmt.c (parse_output_constraint, parse_input_constraint): Use
the generated insn_extra_constraint_allows_reg_mem function
instead of always setting *allows_reg = true; *allows_mem = true;
for unknown extra constraints.

* gcc.target/aarch64/c-output-template-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222186 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoProperly handle uninitialized common symbol
hjl [Fri, 17 Apr 2015 16:23:24 +0000 (16:23 +0000)]
Properly handle uninitialized common symbol

Uninitialized common symbol behavior in executables is target and linker
dependent.  default_binds_local_p_3 is made public and updated to take an
argument to indicate if the linker can guarantee that an uninitialized
common symbol in the executable will still be defined (through COPY
relocation) in the executable.  If common symbol is local to executable,
default_binds_local_p_3 will treat non-external variable as defined
locally.  default_binds_local_p_2 is changed to treat common symbol as
local for non-PIE binaries.

For i386, common symbol is local only for non-PIE binaries.  For x86-64,
common symbol is local only for non-PIE binaries or linker supports copy
reloc in PIE binaries.  If a target treats common symbol as local only
for non-PIE binaries, it can define TARGET_BINDS_LOCAL_P as
default_binds_local_p_2.

gcc/

PR target/65780
* output.h (default_binds_local_p_3): New.
* varasm.c (default_binds_local_p_3): Make it public.  Take an
argument to indicate if common symbol may be local.  If common
symbol may be local, treat non-external variable as defined
locally.
(default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
(default_binds_local_p_1): Pass false to default_binds_local_p_3.
* config/i386/i386.c (ix86_binds_local_p): New.
(TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
ix86_binds_local_p.

gcc/testsuite/

PR target/65780
* gcc.dg/pr65780-1.c: New test.
* gcc.dg/pr65780-2.c: Likewise.
* gcc.target/i386/pr32219-9.c: Likewise.
* gcc.target/i386/pr32219-1.c (xxx): Make it initialized common
symbol.
* gcc.target/i386/pr64317.c (c): Initialize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222184 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/65771
jakub [Fri, 17 Apr 2015 14:16:30 +0000 (14:16 +0000)]
PR debug/65771
* dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
trying mem_loc_descriptor on XEXP (rtl, 0).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222181 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix IPA memory leaks.
marxin [Fri, 17 Apr 2015 13:56:15 +0000 (13:56 +0000)]
Fix IPA memory leaks.

* ipa-cp.c (ipcp_driver): Release prev_edge_clone.
* ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
Release symbol_compare_collection.
* ipa-reference.c: Add TODO that a vector should be released.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222180 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/65296
gjl [Fri, 17 Apr 2015 13:54:16 +0000 (13:54 +0000)]
PR target/65296
* config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
to new AVR-LibC file layout (bug #44574).
(*avrlibc_devicelib): Same.
* config/avr/avr-mcus.def: Adjust comments.
* config/avr/avr.opt (nodevicelib): Adjust help.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222179 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoHide __cpu_indicator_init/__cpu_model from linker
hjl [Fri, 17 Apr 2015 12:58:07 +0000 (12:58 +0000)]
Hide __cpu_indicator_init/__cpu_model from linker

We shouldn't call external function, __cpu_indicator_init, while an object
is being relocated since its .got.plt section hasn't been updated.  It
works for non-PIE since no update on .got.plt section is required.  This
patch creates libgcc.so as a linker script, hides __cpu_indicator_init
and __cpu_model in libgcc.so.1 from linker, forces linker to resolve
__cpu_indicator_init and __cpu_model to their hidden definitions in
libgcc.a while providing backward binary compatibility.

gcc/testsuite/

PR target/65612
* g++.dg/ext/mv18.C: New test.
* g++.dg/ext/mv19.C: Likewise.
* g++.dg/ext/mv20.C: Likewise.
* g++.dg/ext/mv21.C: Likewise.
* g++.dg/ext/mv22.C: Likewise.
* g++.dg/ext/mv23.C: Likewise.

libgcc/

PR target/65612
* config.host (tmake_file): Add t-slibgcc-libgcc for Linux/x86.
* config/i386/cpuinfo.c (__cpu_model): Initialize.
(__cpu_indicator_init@GCC_4.8.0): New.
(__cpu_model@GCC_4.8.0): Likewise.
* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add
-DUSE_ELF_SYMVER.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222178 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
alalaw01 [Fri, 17 Apr 2015 12:56:45 +0000 (12:56 +0000)]
    * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222177 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR c++/64527
ppalka [Fri, 17 Apr 2015 12:14:24 +0000 (12:14 +0000)]
Fix PR c++/64527

gcc/
PR c++/64527
* gimplify.c (gimplify_init_constructor): Always emit a
side-effecting constructor.

gcc/testsuite/
PR c++/64527
* g++.dg/init/pr64527.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222176 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing PR lines in ChangeLog
vries [Fri, 17 Apr 2015 09:47:10 +0000 (09:47 +0000)]
Add missing PR lines in ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222175 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoSet PROP_gimple_lva for functions without IFN_VA_ARG
vries [Fri, 17 Apr 2015 09:27:08 +0000 (09:27 +0000)]
Set PROP_gimple_lva for functions without IFN_VA_ARG

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
in cfun->curr_properties.
(gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
if we generate an IFN_VA_ARG.
* tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
function if PROP_gimple_lva is not set in src function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222174 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPostpone expanding va_arg until pass_stdarg
vries [Fri, 17 Apr 2015 09:26:59 +0000 (09:26 +0000)]
Postpone expanding va_arg until pass_stdarg

2015-04-17  Tom de Vries  <tom@codesourcery.com>
    Michael Matz  <matz@suse.de>

* gimple-iterator.c (update_modified_stmts): Remove static.
* gimple-iterator.h (update_modified_stmts): Declare.
* gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
(gimplify_va_arg_internal): New function.
(gimplify_va_arg_expr): Use IFN_VA_ARG.
* gimplify.h (gimplify_va_arg_internal): Declare.
* internal-fn.c (expand_VA_ARG): New unreachable function.
* internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
* tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
(expand_ifn_va_arg): New function.
(pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
(pass_stdarg::execute): Call expand_ifn_va_arg.
(pass_data_lower_vaarg): New pass_data.
(pass_lower_vaarg): New gimple_opt_pass.
(pass_lower_vaarg::gate, pass_lower_vaarg::execute)
(make_pass_lower_vaarg): New function.
* cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
properties_required field.
* passes.def (all_passes): Add pass_lower_vaarg.
* tree-pass.h (PROP_gimple_lva): Add define.
(make_pass_lower_vaarg): Declare.

* gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target
x86_64-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222173 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoHandle internal_fn in operand_equal_p
vries [Fri, 17 Apr 2015 09:26:50 +0000 (09:26 +0000)]
Handle internal_fn in operand_equal_p

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
* calls.c (call_expr_flags): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222172 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFactor optimize_va_list_gpr_fpr_size out of pass_stdarg::execute
vries [Fri, 17 Apr 2015 09:26:41 +0000 (09:26 +0000)]
Factor optimize_va_list_gpr_fpr_size out of pass_stdarg::execute

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
(pass_stdarg::execute): ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222171 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd gimple_find_sub_bbs
vries [Fri, 17 Apr 2015 09:26:33 +0000 (09:26 +0000)]
Add gimple_find_sub_bbs

2015-04-17  Tom de Vries  <tom@codesourcery.com>
    Michael Matz  <matz@suse.de>

* tree-cfg.c (make_blocks_1): Factor out of ...
(make_blocks): ... here.
(make_edges_bb): Factor out of ...
(make_edges): ... here.
(gimple_find_sub_bbs): New function.
* tree-cfg.h (gimple_find_sub_bbs): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222170 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDisable lang_hooks.gimplify_expr in free_lang_data
vries [Fri, 17 Apr 2015 09:26:24 +0000 (09:26 +0000)]
Disable lang_hooks.gimplify_expr in free_lang_data

2015-04-17  Tom de Vries  <tom@codesourcery.com>

* tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222169 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-17 Yury Gribov <y.gribov@samsung.com>
ygribov [Fri, 17 Apr 2015 07:51:02 +0000 (07:51 +0000)]
2015-04-17  Yury Gribov  <y.gribov@samsung.com>

gcc/
* asan.c (set_sanitized_sections): New function.
(section_sanitized_p): Ditto.
(asan_protect_global): Optionally sanitize user-defined
sections.
* asan.h (set_sanitized_sections): Declare new function.
* common.opt (fsanitize-sections): New option.
* doc/invoke.texi (-fsanitize-sections): Document new option.
* opts-global.c (handle_common_deferred_options): Handle new
option.

gcc/testsuite/
* c-c++-common/asan/user-section-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222168 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/65771
jakub [Fri, 17 Apr 2015 07:44:30 +0000 (07:44 +0000)]
PR debug/65771
* dwarf2out.c (loc_list_from_tree): Return NULL
for DEBUG_EXPR_DECL.

* gcc.dg/debug/pr65771.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222166 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
chrbr [Fri, 17 Apr 2015 06:50:08 +0000 (06:50 +0000)]
* ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
same attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222165 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Fri, 17 Apr 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222164 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 16 Apr 2015 20:57:46 +0000 (20:57 +0000)]
2015-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (resolve_address_of_overloaded_function, instantiate_type):
Rename tsubst_flags_t parameter flags -> complain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222159 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ira-color.c (setup_left_conflict_sizes_p): Do not process
law [Thu, 16 Apr 2015 20:02:01 +0000 (20:02 +0000)]
   * ira-color.c (setup_left_conflict_sizes_p): Do not process
        node itself when computing left conflict subnode size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222157 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
uros [Thu, 16 Apr 2015 18:50:59 +0000 (18:50 +0000)]
* config/i386/predicates.md (register_mixssei387nonimm_operand): New.
* config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
*fop_<mode>_1_sse using enabled attribute.  Use
register_mixssei387nonimm_operand operand 1 predicate. Change
alternative 3 constraints from "x" to "v".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222154 138bc75d-0d04-0410-961f-82ee72b054a4