]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
dje [Wed, 25 Nov 2015 12:52:50 +0000 (12:52 +0000)] 
* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
both the symbol and the "dot" symbol for function descriptors.  Fix
inversion for rename of symbols with dollar sign.

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

9 years agoImprove verification of loop->latch in verify_loop_structure
vries [Wed, 25 Nov 2015 11:28:49 +0000 (11:28 +0000)] 
Improve verification of loop->latch in verify_loop_structure

2015-11-25  Tom de Vries  <tom@codesourcery.com>

* cfgloop.c (find_single_latch): New function, factored out of ...
(flow_loops_find): ... here.
(verify_loop_structure): Improve verification of loop->latch.
* cfgloop.h (find_single_latch): Declare.
* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.

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

9 years agoPort libvtv to Solaris
ro [Wed, 25 Nov 2015 10:30:25 +0000 (10:30 +0000)] 
Port libvtv to Solaris

libstdc++-v3:
* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
-Wl,-R in VTV_CXXLINKFLAGS.
* configure: Regenerate.

* testsuite/18_support/bad_exception/23591_thread-1.c: Use
-fvtable-verify=none on Solaris 12+.

libgcc:
* Makefile.in (VTV_CFLAGS): New variable.
(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
to extra_parts if $enable_vtable_verify = yes.

libvtv:
* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
<*-*-solaris2*>: Check for init priority support.
Check for getexecname, __fortify_fail, _obstack_begin.
(VTV_NO_OBSTACK): New conditional.
* configure: Regenerate.
* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
Create empty config.h
* Makefile.in: Regenerate.

* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
variable.
(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.

(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.

(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
(iterate_modules): Fix typo.
Use VTV_PAGE_SIZE.
(dl_iterate_phdr_callback): Fix typo.
Use VTV_PAGE_SIZE.
(__VLTChangePermission): Fix typos.

include:
* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
__sparc__]: Define.

gcc:
* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
(STARTFILE_SPEC): Use %(startfile_vtv).
(ENDFILE_SPEC): Use %(endfile_vtv).
(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
ENDFILE_VTV_SPEC.

* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.

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

9 years agoRemove broken ifcvt code for speculating memory writes
bernds [Wed, 25 Nov 2015 10:23:28 +0000 (10:23 +0000)] 
Remove broken ifcvt code for speculating memory writes

* ifcvt.c (noce_mem_write_may_trap_or_fault_p,
noce_can_store_speculate): Delete.
(noce_process_if_block): Don't try to handle single MEM stores.
* rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
* alias.c (memory_must_be_modified_in_insn_p): Delete.

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

9 years ago2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 25 Nov 2015 10:00:02 +0000 (10:00 +0000)] 
2015-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58910
* g++.dg/cpp0x/constexpr-tuple2.C: New.

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

9 years ago[RTL-ifcvt] PR rtl-optimization/68435 Allow (c ? x++ : x--) form
ktkachov [Wed, 25 Nov 2015 09:48:29 +0000 (09:48 +0000)] 
[RTL-ifcvt] PR rtl-optimization/68435 Allow (c ? x++ : x--) form

PR rtl-optimization/68435
* ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
for conflicts between a, b and the set destinations.

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

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

9 years ago2015-11-25 Richard Biener <rguenther@suse.de>
rguenth [Wed, 25 Nov 2015 09:22:47 +0000 (09:22 +0000)] 
2015-11-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68517
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
Properly handle zero-sized types.

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

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

9 years ago * ipa-inline-analysis.c: Include gimplify.h
hubicka [Wed, 25 Nov 2015 09:08:20 +0000 (09:08 +0000)] 
* ipa-inline-analysis.c: Include gimplify.h
(set_cond_stmt_execution_predicate,
set_switch_stmt_execution_predicate): Be sure to not leak locations
to function body.

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

9 years ago PR target/67089
jakub [Wed, 25 Nov 2015 08:58:32 +0000 (08:58 +0000)] 
PR target/67089
* tree-ssa-math-opts.c (uaddsub_overflow_check_p,
match_uaddsub_overflow): New functions.
(pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.

* gcc.dg/pr67089-1.c: New test.
* gcc.dg/pr67089-2.c: New test.
* gcc.dg/pr67089-3.c: New test.
* gcc.dg/pr67089-4.c: New test.
* gcc.dg/pr67089-5.c: New test.
* gcc.dg/pr67089-6.c: New test.
* gcc.dg/pr67089-7.c: New test.

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

9 years ago2015-11-25 Richard Biener <rguenther@suse.de>
rguenth [Wed, 25 Nov 2015 08:53:22 +0000 (08:53 +0000)] 
2015-11-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68492
* tree-vect-slp.c (vect_build_slp_tree): Consistently build up
op from scalars after operand swapping.

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

9 years ago2015-11-25 Richard Biener <rguenther@suse.de>
rguenth [Wed, 25 Nov 2015 08:46:34 +0000 (08:46 +0000)] 
2015-11-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68502
* tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
check that the step is a multiple of the type size.

* gcc.dg/vect/pr68502-1.c: New testcase.
* gcc.dg/vect/pr68502-2.c: Likewise.

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

9 years ago2015-11-24 Michael Collison <michael.collison@linaro.org>
collison [Wed, 25 Nov 2015 06:51:55 +0000 (06:51 +0000)] 
2015-11-24  Michael Collison  <michael.collison@linaro.org>

* config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
* config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
* gcc.target/aarch64/saddw-1.c: New test.
* gcc.target/aarch64/saddw-2.c: New test.
* gcc.target/aarch64/uaddw-1.c: New test.
* gcc.target/aarch64/uaddw-2.c: New test.
* gcc.target/aarch64/uaddw-3.c: New test.
* lib/target-support.exp
(check_effective_target_vect_widen_sum_hi_to_si_pattern):
Add aarch64 to list of support targets.

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

9 years agoDaily bump.
gccadmin [Wed, 25 Nov 2015 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoFix typos from last checkin.
sje [Tue, 24 Nov 2015 22:12:25 +0000 (22:12 +0000)] 
Fix typos from last checkin.

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

9 years ago2015-11-24 Steve Ellcey <sellcey@imgtec.com>
sje [Tue, 24 Nov 2015 22:11:27 +0000 (22:11 +0000)] 
2015-11-24  Steve Ellcey  <sellcey@imgtec.com>

* gcc.target/mips/frame-header-4.c: New test.

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

9 years ago2015-11-24 Steve Ellcey <sellcey@imgtec.com>
sje [Tue, 24 Nov 2015 22:09:17 +0000 (22:09 +0000)] 
2015-11-24  Steve Ellcey  <sellcey@imgtec.com>

* frame-header-opt.c (gate): Check for optimize > 0.
(has_inlined_assembly): New function.
(needs_frame_header_p): Remove is_leaf_function check,
add argument type check.
(callees_functions_use_frame_header): Add is_leaf_function
and has_inlined_assembly calls..
(set_callers_may_not_allocate_frame): New function.
(frame_header_opt): Add is_leaf_function call, add
set_callers_may_not_allocate_frame call.
* config/mips/mips.c (mips_compute_frame_info): Add check
to see if callee saved regs can be put in frame header.
(mips_expand_prologue): Add check to see if step1 is zero,
fix cfa restores when using frame header to store regs.
(mips_can_use_return_insn): Check to see if registers are
stored in frame header.
* config/mips/mips.h (machine_function): Add
callers_may_not_allocate_frame and
use_frame_header_for_callee_saved_regs fields.

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

9 years agoshrink-wrap: Fix thinko (PR68520)
segher [Tue, 24 Nov 2015 21:23:25 +0000 (21:23 +0000)] 
shrink-wrap: Fix thinko (PR68520)

Part of the shrink-wrapping algorithm has this comment:

  /* Now see if we can put the prologue at the start of PRO.  Putting it
     there might require duplicating a block that cannot be duplicated,
     or in some cases we cannot insert the prologue there at all.  If PRO
     wont't do, try again with the immediate dominator of PRO, and so on.

     The blocks that need duplicating are those reachable from PRO but
     not dominated by it.  We keep in BB_WITH a bitmap of the blocks
     reachable from PRO that we already found, and in VEC a stack of
     those we still need to consider (to find successors).  */

Two of the cases that push to that stack do not actually check the
bitmap first.  Either I thought those blocks could not be on the stack
already, or more likely I didn't think and it just didn't crash during
any testing.  But of course those blocks *can* already be on the stack
(if you have a hideous loop structure), and then we end up with the
same block on the stack more than once.  This is harmless, except that
(like in the PR) this can overflow the stack.

This fixes it, by doing the necessary bitmap checks before pushing.

PR rtl-optimization/68520
* shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
its bit was already set in BB_WITH.

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

9 years agogcc/c/
iverbin [Tue, 24 Nov 2015 21:04:47 +0000 (21:04 +0000)] 
gcc/c/
* c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
with "if (ENABLE_OFFLOADING)".
gcc/cp/
* parser.c (cp_parser_oacc_declare): replace "ifdef enable_offloading"
with "if (enable_offloading)".

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

9 years ago * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
hubicka [Tue, 24 Nov 2015 20:35:16 +0000 (20:35 +0000)] 
* alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
double check that type is main variant.
* tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
variant.
(verify_type_variant): Verify that variants have no
TYPE_ALIAS_SET_KNOWN_P set
* tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
streaming so constant fields come first; stream TYPE_ALIAS_SET==0
only for main variants; stream TYPE_ALIAS_SET as a bit.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
accordingly.

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

9 years ago * tree.c (make_vector_type): Properly compute canonical type of the
hubicka [Tue, 24 Nov 2015 20:26:48 +0000 (20:26 +0000)] 
* tree.c (make_vector_type): Properly compute canonical type of the
main variant.
(verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
a main variant.

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

9 years ago * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
nathan [Tue, 24 Nov 2015 20:15:44 +0000 (20:15 +0000)] 
* config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
VOIDmode, don't alter incoming mode.
(nvptx_split_reg_p): Delete.
(write_one_arg, walk_args_for_param, nvptx_declare_function_name,
write_func_decl_from_insn, nvptx_output_call_insn): Adjust
maybe_split_mode calls.
(nvptx_print_operand): Use maybe_split_mode.

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

9 years ago * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
hubicka [Tue, 24 Nov 2015 19:35:38 +0000 (19:35 +0000)] 
* lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
only for types where LTO sets them.
* tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
(make_vector_type): Likewise.
(gimple_canonical_types_compatible_p): Use canonical_type_used_p.
* tree.h (canonical_type_used_p): New inline.
* alias.c (get_alias_set): Handle structural equality for all
types that pass canonical_type_used_p.
(record_component_aliases): Look through all types with
record_component_aliases for possible pointers; sanity check that
the alias sets match.

* lto.c (iterative_hash_canonical_type): Recruse for all types
which pass !canonical_type_used_p.
(gimple_register_canonical_type_1): Sanity check we do not compute
canonical type of anything with !canonical_type_used_p.
(gimple_register_canonical_type): Skip all types that are
!canonical_type_used_p

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

9 years ago2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 24 Nov 2015 19:16:18 +0000 (19:16 +0000)] 
2015-11-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.

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

9 years ago * tree.c (free_node): New function.
hubicka [Tue, 24 Nov 2015 19:04:04 +0000 (19:04 +0000)] 
* tree.c (free_node): New function.
(type_hash_canon): Use it.
* tree.h (free_node): Declare.
* lto.c (unify_scc): Use free_node.

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

9 years ago2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Tue, 24 Nov 2015 18:58:28 +0000 (18:58 +0000)] 
2015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* simplify.c (gfc_simplify_cshift): Allow all EXPR_*.

2015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* gfortran.dg/simplify_cshift_3.f90

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

9 years agofix ChangeLog
meissner [Tue, 24 Nov 2015 18:54:34 +0000 (18:54 +0000)] 
fix ChangeLog

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

9 years agofix ChangeLog
meissner [Tue, 24 Nov 2015 18:47:49 +0000 (18:47 +0000)] 
fix ChangeLog

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

9 years ago2015-11-24 David Edelsohn <dje.gcc@gmail.com>
meissner [Tue, 24 Nov 2015 18:46:07 +0000 (18:46 +0000)] 
2015-11-24  David Edelsohn  <dje.gcc@gmail.com>
    Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
(Fv2): New mode attribute to be used when ISA 2.06 instructions
are used on SF/DF values.
(abs<mode>2_fpr): Use <Fv2> instead of <Fv>.
(nabs<mode>2_fpr): Likewise.
(neg<mode>2_fpr): Likewise.
(copysign<mode>3_fcpsgn): Likewise.
(smax<mode>3_vsx): Likewise.
(smin<mode>3_vsx): Likewise.
(floatsi<mode>2_lfiwax): Likewise.
(floatunssi<mode>2_lfiwz): Likewise.
(fctiwz_<mode>): Likewise.
(fctiwuz_<mode>): Likewise.
(btrunc<mode>2): Likewise.
(ceil<mode>2): Likewise.
(floor<mode>2): Likewise.
(xsrdpi<mode>): Add support for the lround function.
(lround<mode>2): Likewise.

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

9 years ago2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 24 Nov 2015 18:30:02 +0000 (18:30 +0000)] 
2015-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/68278
* g++.dg/cpp1y/pr68278.C: New.

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

9 years ago2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 24 Nov 2015 18:16:26 +0000 (18:16 +0000)] 
2015-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/68388
* g++.dg/cpp1y/pr68388.C: New.

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

9 years agofix PR67984: check for constants in rename map
spop [Tue, 24 Nov 2015 18:00:52 +0000 (18:00 +0000)] 
fix PR67984: check for constants in rename map

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

9 years agomove all declarations to a same .h file
spop [Tue, 24 Nov 2015 17:57:45 +0000 (17:57 +0000)] 
move all declarations to a same .h file

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

9 years agoDWARF: materialize subprogram renamings in Ada as imported declarations
pmderodat [Tue, 24 Nov 2015 16:59:43 +0000 (16:59 +0000)] 
DWARF: materialize subprogram renamings in Ada as imported declarations

... so that debugger users can reference them instead of the renamed
subprograms.  This is in accordance with the DWARF specification: the
section 3.2.3 (Imported (or Renamed) Declaration Entities) allows
DW_TAG_imported_declaration DIEs to be used "as a general means to
rename or provide an alias for an entity regardless of the context in
which the importing declaration or the imported entity occur." (wording
from the DWARFv3 and DWARFv4 specifications, allowed in DWARFv2).

gcc/ada/ChangeLog:

* gcc-interface/utils.c (gnat_write_global_declarations): Output
debugging information for top-level imported declarations.

gcc/ChangeLog:

* dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead
of DW_TAG_namespace for IMPORTED_DECL declarations.  Call
dwarf2out_imported_module_or_decl_1 for all DWARF versions as
this function already takes care of checking what it can emit.

Bootstrapped, regtested and checked with GDB's testsuite on
x86_64-linux.

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

9 years ago[AArch64] Documentation fix for -fpic
nsz [Tue, 24 Nov 2015 16:06:30 +0000 (16:06 +0000)] 
[AArch64] Documentation fix for -fpic

gcc/
* doc/invoke.texi (-fpic): Add the AArch64 limit.
(-fPIC): Add AArch64.

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

9 years ago PR rtl-optimization/68392
matz [Tue, 24 Nov 2015 16:00:51 +0000 (16:00 +0000)] 
PR rtl-optimization/68392
* g++.dg/pr68392.C: New test.

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

9 years agoAllow pass_lim to run outside pass_tree_loop
vries [Tue, 24 Nov 2015 14:47:55 +0000 (14:47 +0000)] 
Allow pass_lim to run outside pass_tree_loop

2015-11-24  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-im.c (tree_ssa_lim): Make static.
(pass_lim::execute): Allow to run outside pass_tree_loop.

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

9 years ago[PATCH][AArch64] Improve add immediate expansion
jgreenhalgh [Tue, 24 Nov 2015 14:46:05 +0000 (14:46 +0000)] 
[PATCH][AArch64] Improve add immediate expansion

gcc/

* gcc/config/aarch64/aarch64.md (add<mode>3):
Block early expansion into 2 add instructions.
(add<mode>3_pluslong): New pattern to combine complex
immediates into 2 additions.

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

9 years agors6000: Fix for and_operand oversight (PR68332, PR67677)
segher [Tue, 24 Nov 2015 14:04:11 +0000 (14:04 +0000)] 
rs6000: Fix for and_operand oversight (PR68332, PR67677)

Calling rs6000_is_valid_and_mask on a reg instead of on a const_int is
not a good idea, as PR68332 and PR67677 as well as testing with
--enable-checking=yes,rtl show.  Fix this.

PR target/66217
PR target/67677
PR target/68332
* config/rs6000/predicates.md (and_operand): Check that the operand
is a const_int before calling rs6000_is_valid_and_mask.

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

9 years ago * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
nathan [Tue, 24 Nov 2015 13:53:31 +0000 (13:53 +0000)] 
* gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.

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

9 years agoTestcase for PR rtl-optimization/68381
ktkachov [Tue, 24 Nov 2015 13:35:56 +0000 (13:35 +0000)] 
Testcase for PR rtl-optimization/68381

PR rtl-optimization/68381
* gcc.c-torture/execute/pr68381.c: New test.

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

9 years agoHandle C++11 <math.h> overloads on Solaris 12
ro [Tue, 24 Nov 2015 13:15:43 +0000 (13:15 +0000)] 
Handle C++11 <math.h> overloads on Solaris 12

* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.

* include/c_global/cmath [__cplusplus >= 201103L]
(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::isfinite): Likewise.
(std::isinf): Likewise.
(std::isnan): Likewise.
(std::isnormal): Likewise.
(std::signbit): Likewise.
(std::isgreater): Likewise.
(std::isgreaterequal): Likewise.
(std::isless): Likewise.
(std::islessequal): Likewise.
(std::islessgreater): Likewise.
(std::isunordered): Likewise.
(std::acosh): Likewise.
(std::asinh): Likewise.
(std::atanh): Likewise.
(std::cbrt): Likewise.
(std::copysign): Likewise.
(std::erf): Likewise.
(std::erfc): Likewise.
(std::exp2): Likewise.
(std::expm1): Likewise.
(std::fdim): Likewise.
(std::fma): Likewise.
(std::fmax): Likewise.
(std::fmin): Likewise.
(std::hypot): Likewise.
(std::ilogb): Likewise.
(std::lgamma): Likewise.
(std::llrint): Likewise.
(std::llround): Likewise.
(std::log1p): Likewise.
(std::log2): Likewise.
(std::logb): Likewise.
(std::lrint): Likewise.
(std::lround): Likewise.
(std::nearbyint): Likewise.
(std::nextafter): Likewise.
(std::nexttoward): Likewise.
(std::remainder): Likewise.
(std::remquo): Likewise.
(std::rint): Likewise.
(std::round): Likewise.
(std::scalbln): Likewise.
(std::scalbn): Likewise.
(std::tgamma): Likewise.
(std::trunc): Likewise.
* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::tr1::asinh): Likewise.
(std::tr1::atanh): Likewise.
(std::tr1::cbrt): Likewise.
(std::tr1::copysign): Likewise.
(std::tr1::erf): Likewise.
(std::tr1::erfc): Likewise.
(std::tr1::exp2): Likewise.
(std::tr1::expm1): Likewise.
(std::tr1::fabs): Likewise.
(std::tr1::fdim): Likewise.
(std::tr1::fma): Likewise.
(std::tr1::fmax): Likewise.
(std::tr1::fmin): Likewise.
(std::tr1::hypot): Likewise.
(std::tr1::ilogb): Likewise.
(std::tr1::lgamma): Likewise.
(std::tr1::llrint): Likewise.
(std::tr1::llround): Likewise.
(std::tr1::log1p): Likewise.
(std::tr1::log2): Likewise.
(std::tr1::logb): Likewise.
(std::tr1::lrint): Likewise.
(std::tr1::lround): Likewise.
(std::tr1::nearbyint): Likewise.
(std::tr1::nextafter): Likewise.
(std::tr1::nexttoward): Likewise.
(std::tr1::remainder): Likewise.
(std::tr1::remquo): Likewise.
(std::tr1::rint): Likewise.
(std::tr1::scalbln): Likewise.
(std::tr1::scalbn): Likewise.
(std::tr1::tgamma): Likewise.
(std::tr1::trunc): Likewise.
(std::tr1::pow): Likewise.

* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.

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

9 years ago[AArch64][v2] Improve comparison with complex immediates followed by branch/cset
ktkachov [Tue, 24 Nov 2015 13:08:56 +0000 (13:08 +0000)] 
[AArch64][v2] Improve comparison with complex immediates followed by branch/cset

* config/aarch64/aarch64.md (*condjump): Rename to...
(condjump): ... This.
(*compare_condjump<mode>): New define_insn_and_split.
(*compare_cstore<mode>_insn): Likewise.
(*cstore<mode>_insn): Rename to...
(cstore<mode>_insn): ... This.
* config/aarch64/iterators.md (CMP): Handle ne code.
* config/aarch64/predicates.md (aarch64_imm24): New predicate.

* gcc.target/aarch64/cmpimm_branch_1.c: New test.
* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.

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

9 years agoMove ptrace.h to appropriate place.
chefmax [Tue, 24 Nov 2015 12:24:46 +0000 (12:24 +0000)] 
Move ptrace.h to appropriate place.

libsanitizer/

* include/system/linux/asm/ptrace.h: Move to ...
* include/system/asm/ptrace.h: ... this.

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

9 years agoFix PR68497 (ICE with -fno-checking)
miyuki [Tue, 24 Nov 2015 12:18:21 +0000 (12:18 +0000)] 
Fix PR68497 (ICE with -fno-checking)

gcc/

PR target/68497
* config/i386/i386.c (output_387_binary_op): Fix assertion for
-fno-checking case.

gcc/testsuite/

PR target/68497
* gcc.target/i386/pr68497.c: New test.

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

9 years agoremove val_ssa_equiv_hash_traits
tbsaunde [Tue, 24 Nov 2015 11:46:18 +0000 (11:46 +0000)] 
remove val_ssa_equiv_hash_traits

gcc/ChangeLog:

2015-11-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
(val_ssa_equiv_hash_traits::remove): Likewise.
(pass_uncprop::execute): Adjust.

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

9 years agodestroy values as well as keys when removing them from hash maps
tbsaunde [Tue, 24 Nov 2015 11:46:10 +0000 (11:46 +0000)] 
destroy values as well as keys when removing them from hash maps

gcc/ChangeLog:

2015-11-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* hash-map-traits.h (simple_hashmap_traits ::remove): call
destructors on values that are being removed.
* mem-stats.h (hash_map): Pass type of values to
simple_hashmap_traits.
* tree-sra.c (sra_deinitialize): Remove work around for hash
maps not destructing values.
* genmatch.c (sinfo_hashmap_traits): Adjust.
* tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.

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

9 years ago[AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out
jgreenhalgh [Tue, 24 Nov 2015 11:22:48 +0000 (11:22 +0000)] 
[AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out
of bounds accesses to vmulx_lane* NEON intrinsics

gcc/testsuite/

* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c:
New.

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

9 years ago[cfgloop] PR middle-end/68375: Restructure get_loop_body_in_bfs_order to handle loops...
ktkachov [Tue, 24 Nov 2015 11:03:51 +0000 (11:03 +0000)] 
[cfgloop] PR middle-end/68375: Restructure get_loop_body_in_bfs_order to handle loops with only a header

PR middle-end/68375
* cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
bogus assertion.

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

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

9 years ago PR target/68483
jakub [Tue, 24 Nov 2015 10:45:52 +0000 (10:45 +0000)] 
PR target/68483
* tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
is valid vec_shr pattern, don't lower it even if can_vec_perm_p
returns false.
* optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
whenever first is nelt or above.  Don't mask expected with
2 * nelt - 1.

* gcc.target/i386/pr68483-1.c: New test.
* gcc.target/i386/pr68483-2.c: New test.

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

9 years agogcc/
ienkovich [Tue, 24 Nov 2015 09:45:20 +0000 (09:45 +0000)] 
gcc/

PR c/68337
* gimple-fold.c: Include ipa-chkp.h.
(gimple_fold_builtin_memory_op): Don't fold call if we
are going to instrument it and it may copy pointers.

gcc/testsuite/

PR c/68337
* gcc.target/i386/mpx/pr68337-1.c: New test.
* gcc.target/i386/mpx/pr68337-2.c: New test.

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

9 years ago[RTL-ree] PR rtl-optimization/68194: Restrict copy instruction in presence of conditi...
ktkachov [Tue, 24 Nov 2015 09:31:57 +0000 (09:31 +0000)] 
[RTL-ree] PR rtl-optimization/68194: Restrict copy instruction in presence of conditional moves

PR rtl-optimization/68194
PR rtl-optimization/68328
PR rtl-optimization/68185
* ree.c (combine_reaching_defs): Reject copy_needed case if
copies_list is not empty.

* gcc.c-torture/execute/pr68185.c: New test.
* gcc.c-torture/execute/pr68328.c: Likewise.

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

9 years ago2015-11-24 Gary Dismukes <dismukes@adacore.com>
charlet [Tue, 24 Nov 2015 09:22:24 +0000 (09:22 +0000)] 
2015-11-24  Gary Dismukes  <dismukes@adacore.com>

* sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
reformatting, rewording, and typo corrections.

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

9 years ago2015-11-24 Richard Biener <rguenther@suse.de>
rguenth [Tue, 24 Nov 2015 09:17:40 +0000 (09:17 +0000)] 
2015-11-24  Richard Biener  <rguenther@suse.de>

PR middle-end/68221
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
use mem_ref_offset.

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

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ebotcazou [Tue, 24 Nov 2015 09:00:45 +0000 (09:00 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, do a minimal translation for root types with discriminants.
* gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
<N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise.  In ASIS mode,
process the declarations attached to the body.

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

9 years ago * gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
ebotcazou [Tue, 24 Nov 2015 08:52:54 +0000 (08:52 +0000)] 
* gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
not build a NULL_EXPR for an N_Expanded_Name.

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

9 years agoFix libsanitizer build with old kernel headers on ARM after r230739.
chefmax [Tue, 24 Nov 2015 08:44:39 +0000 (08:44 +0000)] 
Fix libsanitizer build with old kernel headers on ARM after r230739.

libsanitizer/

* include/system/linux/asm/ptrace.h: New header.

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

9 years ago * gcc-interface/decl.c (is_cplusplus_method): Check that the type of
ebotcazou [Tue, 24 Nov 2015 08:42:37 +0000 (08:42 +0000)] 
* gcc-interface/decl.c (is_cplusplus_method): Check that the type of
the first parameter (indirectly) has C++ convention too.

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

9 years agocombine: Handle aborts in is_parallel_of_n_reg_sets (PR68381)
segher [Tue, 24 Nov 2015 06:43:20 +0000 (06:43 +0000)] 
combine: Handle aborts in is_parallel_of_n_reg_sets (PR68381)

Some users of is_parallel_of_n_reg_sets disregard the clobbers in a
parallel after it has returned "yes, this is a parallel of N sets and
maybe some clobbers".  But combine uses a clobber of const0_rtx to
indicate substitution failure, so this leads to disaster.

Fix this by checking for such special clobbers in is_parallel_of_n_reg_sets.

PR rtl-optimization/68381
* combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
is poisoned.

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

9 years ago[PATCH] Fix invalid redundant extension elimination for rl78 port
law [Tue, 24 Nov 2015 05:11:15 +0000 (05:11 +0000)] 
[PATCH] Fix invalid redundant extension elimination for rl78 port

* ree.c (add_removable_extension): Avoid mis-optimizing cases where
the source/dest of the target extension require a different number of
hard registers.
(combine_set_extension): Remove #if 0 code.

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

9 years ago * gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
hubicka [Tue, 24 Nov 2015 03:58:47 +0000 (03:58 +0000)] 
* gcc.c-torture/execute/lto-tbaa-1.c: New testcase.

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

9 years agoDaily bump.
gccadmin [Tue, 24 Nov 2015 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoFix missing ChangeLog entry for Graphite head files fix.
dje [Tue, 24 Nov 2015 00:12:21 +0000 (00:12 +0000)] 
Fix missing ChangeLog entry for Graphite head files fix.

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

9 years agofix PR68314: revert all patches touching the construction of the original schedule
spop [Mon, 23 Nov 2015 23:28:42 +0000 (23:28 +0000)] 
fix PR68314: revert all patches touching the construction of the original schedule

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

9 years ago PR go/68496
ian [Mon, 23 Nov 2015 21:17:45 +0000 (21:17 +0000)] 
PR go/68496
    reflect: Allocate space for FFI functions returning a zero-sized type.

    The libffi library does not understand zero-sized types.  We represent
    them as a struct with a single field of type void.  If such a type is
    returned from a function, libffi will copy 1 byte of data.  Allocate
    space for that byte, although we won't use it.

    Fixes https://gcc.gnu.org/PR68496.

    Reviewed-on: https://go-review.googlesource.com/17175

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

9 years agoFix PR objc/68438 (uninitialized source ranges)
dmalcolm [Mon, 23 Nov 2015 21:00:13 +0000 (21:00 +0000)] 
Fix PR objc/68438 (uninitialized source ranges)

gcc/c/ChangeLog:
PR objc/68438
* c-parser.c (c_parser_postfix_expression): Set up source ranges
for various Objective-C constructs: Class.name syntax,
@selector(), @protocol(), @encode(), and [] message syntax.

gcc/testsuite/ChangeLog:
PR objc/68438
* objc.dg/plugin: New subdirectory.
* objc.dg/plugin/diagnostic-test-expressions-1.m: New test file.
* objc.dg/plugin/plugin.exp: New file, based on
gcc.dg/plugin/plugin.exp.

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

9 years ago2015-11-23 Matthias Klose <doko@ubuntu.com>
doko [Mon, 23 Nov 2015 20:27:57 +0000 (20:27 +0000)] 
2015-11-23  Matthias Klose  <doko@ubuntu.com>

        * Imported zlib 1.2.8; merged local changes.

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

9 years agofix PR68493: bail out when codegen_error is set
spop [Mon, 23 Nov 2015 19:31:00 +0000 (19:31 +0000)] 
fix PR68493: bail out when codegen_error is set

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

9 years agofix PR68279: bail out when scev gets instantiated to not_known
spop [Mon, 23 Nov 2015 19:28:13 +0000 (19:28 +0000)] 
fix PR68279: bail out when scev gets instantiated to not_known

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

9 years agocall update_ssa once
spop [Mon, 23 Nov 2015 19:28:06 +0000 (19:28 +0000)] 
call update_ssa once

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

9 years ago PR tree-optimization/68455
mpolacek [Mon, 23 Nov 2015 17:18:36 +0000 (17:18 +0000)] 
PR tree-optimization/68455
* tree-vrp.c (extract_range_from_binary_expr_1): Don't call
extract_range_from_multiplicative_op_1 on symbolic ranges.

* gcc.dg/tree-ssa/pr68455.c: New test.

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

9 years agoAdd uaddv4_optab and usubv4_optab
rth [Mon, 23 Nov 2015 15:55:58 +0000 (15:55 +0000)] 
Add uaddv4_optab and usubv4_optab

PR target/67089
     * optabs.def (uaddv4_optab, usubv4_optab): New.
     * internal-fn.c (expand_addsub_overflow): Use uaddv4_optab
     and usubv4_optab in the u +- u -> u case.
     * doc/md.texi (Standard Names): Document addv{m}4, subv{m}4,
     mulv{m}4, uaddv{m}4, usubv{m}4, umulv{m}4.

     * config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New.

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

9 years ago2015-11-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Nov 2015 15:21:32 +0000 (15:21 +0000)] 
2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68465
* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children):
Also record equalities from multiple predecessor blocks if
only one non-backedge exists.

* gcc.dg/tree-ssa/ssa-fre-52.c: New testcase.

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

9 years ago[ARM] PR target/68059 libgcc should not use __write for printing fatal error
nsz [Mon, 23 Nov 2015 15:17:55 +0000 (15:17 +0000)] 
[ARM] PR target/68059 libgcc should not use __write for printing fatal error

libgcc/
PR target/68059
* config/arm/linux-atomic-64bit.c (__write): Rename to...
(write): ...this and fix the return type.

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

9 years ago[AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop
ktkachov [Mon, 23 Nov 2015 14:56:03 +0000 (14:56 +0000)] 
[AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop

PR target/68363
* config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
that are not INSN_P.

* gcc.target/aarch64/pr68363_1.c: New test.

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

9 years agoCorrect graphite*.c ISL header file inclusion order.
dje [Mon, 23 Nov 2015 14:23:59 +0000 (14:23 +0000)] 
Correct graphite*.c ISL header file inclusion order.
* system.h: Don't poison calloc and strdup if USES_ISL is defined.
* graphite-dependences.c: Define USES_ISL.  Include ISL header files
after GCC header files and before graphite header files.
* graphite-dependences.c: Same.
* graphite-isl-ast-to-gimple.c: Same.
* graphite-optimize-isl.c: Same.
* graphite-poly.c: Same.
* graphite-scop-detection.c: Same.
* graphite-sese-to-poly.c: Same.
* graphite.c: Same.

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

9 years ago[AARCH64] Adding constant folding for __builtin_fmulx* with scalar 32 and 64 bit...
jgreenhalgh [Mon, 23 Nov 2015 14:23:20 +0000 (14:23 +0000)] 
[AARCH64] Adding constant folding for __builtin_fmulx* with scalar 32 and 64 bit arguments

gcc/

* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin): Added
constant folding.

gcc/testsuite/

* gcc.target/aarch64/simd/vmulx.x: New.
* gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise.
* gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise.
* gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise.

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

9 years agoPR c++/68001
kyukhin [Mon, 23 Nov 2015 12:58:12 +0000 (12:58 +0000)] 
PR c++/68001

gcc/c-family
PR c++/68001
* c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
* cilk.c (recognize_spawn): Determine location in a more precise
way.
gcc/cp
* cp-gimplify.c (cp_gimplify_expr): Stop the process if see an error.
gcc/testsuite
* g++.dg/cilk-plus/CK/pr68001.cc: New test.

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

9 years ago[Patch] Drop constant overflow flag in adjust_range_with_scev when possible
jiwang [Mon, 23 Nov 2015 12:14:05 +0000 (12:14 +0000)] 
[Patch] Drop constant overflow flag in adjust_range_with_scev when possible

2015-11-23  Richard Biener  <rguenth@gcc.gnu.com>
            Jiong Wang  <jiong.wang@arm.com>

gcc/
  PR tree-optimization/68317
  PR tree-optimization/68326
  * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the
  final min and max are not infinity.

gcc/testsuite/
  * gcc.dg/pr68317.c: New testcase.

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

9 years ago2015-11-23 Olivier Hainque <hainque@adacore.com>
hainque [Mon, 23 Nov 2015 11:31:24 +0000 (11:31 +0000)] 
2015-11-23  Olivier Hainque  <hainque@adacore.com>

* system-aix.ads: Add Frontend_Exceptions flag.
* system-aix64.ads: Likewise.
* system-darwin-ppc.ads: Likewise.
* system-darwin-ppc64.ads: Likewise.
* system-darwin-x86.ads: Likewise.
* system-darwin-x86_64.ads: Likewise.
* system-dragonfly-x86_64.ads: Likewise.
* system-freebsd-x86.ads: Likewise.
* system-freebsd-x86_64.ads: Likewise.
* system-hpux-ia64.ads: Likewise.
* system-hpux.ads: Likewise.
* system-linux-alpha.ads: Likewise.
* system-linux-armeb.ads: Likewise.
* system-linux-armel.ads: Likewise.
* system-linux-hppa.ads: Likewise.
* system-linux-ia64.ads: Likewise.
* system-linux-mips.ads: Likewise.
* system-linux-mips64el.ads: Likewise.
* system-linux-mipsel.ads: Likewise.
* system-linux-ppc.ads: Likewise.
* system-linux-ppc64.ads: Likewise.
* system-linux-s390.ads: Likewise.
* system-linux-s390x.ads: Likewise.
* system-linux-sh4.ads: Likewise.
* system-linux-sparc.ads: Likewise.
* system-linux-sparcv9.ads: Likewise.
* system-linux-x86.ads: Likewise.
* system-linux-x86_64.ads: Likewise.
* system-mingw-x86_64.ads: Likewise.
* system-mingw.ads: Likewise.
* system-rtems.ads: Likewise.
* system-solaris-sparc.ads: Likewise.
* system-solaris-sparcv9.ads: Likewise.
* system-solaris-x86.ads: Likewise.
* system-solaris-x86_64.ads: Likewise.
* system-vxworks-arm.ads: Likewise.
* system-vxworks-m68k.ads: Likewise.
* system-vxworks-mips.ads: Likewise.
* system-vxworks-ppc.ads: Likewise.
* system-vxworks-sparcv9.ads: Likewise.
* system-vxworks-x86.ads: Likewise.
* system.ads: Likewise.

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

9 years ago2015-11-23 Olivier Hainque <hainque@adacore.com>
hainque [Mon, 23 Nov 2015 11:20:34 +0000 (11:20 +0000)] 
2015-11-23  Olivier Hainque  <hainque@adacore.com>
    Eric Botcazou  <botcazou@adacore.com>

* opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
Back_End_SJLJ and Back_End_ZCX.
(Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
SJLJ_Exceptions): New functions, reflecting properties of the current
Exception_Mechanism.
* opt.adb: Implement the new functions.
* fe.h: Bind the new Exception_Mechanism and helper functions for gigi.

* exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
use of property helper and update comments.
(Expand_Exception_Handlers): Replace tests on mechanism by use of
helper. Restrict Abort_Defer to ZCX specifically.
* exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
mechanism by calls to helper functions. Abort_Undefer for ZCX only,
paired with Expand_Exception_Handlers.
* exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
by calls to helper functions. Abort_Undefer for ZCX only, paired with
Expand_Exception_Handlers.

* lib-writ.ads (P line documentation): Add entry for "FX",
representative of unit compiled with Frontend_Exceptions True.
* lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
compiled with Frontend_Exceptions True.

* ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
whether the ALI file contained an "FX" indication on the P line.
(Frontend_Exceptions_Specified): New boolean, to keep track of whether
at least an FX ALI file is in the closure.
* ali.adb (Scan_ALI): Handle "FX" on the P line.
(Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.

* targparm.ads: Update desription of exception schemes.
(Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
set to True in system.ads, or not set at all.
* targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
Rename ZCD to ZCX for consistency.
(FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.

* gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
setting, now from combination of Frontend_Exceptions and ZCX_By_Default.

* bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
as ...
(Check_Consistent_Exception_Handling): Check consistency of both
ZCX_By_Default and Frontend_Exceptions.
(Check_Configuration_Consistency): Check_Consistent_Exception_Handling
if either flag was set at least once.

* make.adb (Check): Remove processing of a possible -fsjlj coming from
lang-specs.h.
* gnatlink.adb (Gnatlin): Likewise.

* gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
both ZCX_By_Default and Frontend_Exceptions.
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
Use eh property helper to test for back-end exceptions. Adjust
mechanism name when testing for front-end sjlj.
(case E_Procedure): Likewise.
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
Likewise, and rename local variables.
(Exception_Handler_to_gnu_sjlj): Rename as
Exception_Handler_to_gnu_fe_sjlj.
(Exception_Handler_to_gnu_zcx): Rename as
Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
to use property helpers or correct mechanism name.

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

9 years ago * zh_CN.po: Update.
jsm28 [Mon, 23 Nov 2015 11:03:21 +0000 (11:03 +0000)] 
* zh_CN.po: Update.

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

9 years agogcc/
ienkovich [Mon, 23 Nov 2015 10:01:51 +0000 (10:01 +0000)] 
gcc/

PR tree-optimization/68327
* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
compute vectype for non-relevant mask producers.
* gcc/tree-vect-stmts.c (vectorizable_comparison): Check stmt
relevance earlier.

gcc/testsuite/

PR tree-optimization/68327
* gcc.dg/pr68327.c: New test.

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

9 years agoAlways call free_stmt_vec_info_vec in gather_scalar_reductions
vries [Mon, 23 Nov 2015 09:45:38 +0000 (09:45 +0000)] 
Always call free_stmt_vec_info_vec in gather_scalar_reductions

2015-11-23  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/68460
* tree-parloops.c (gather_scalar_reductions): Also call
free_stmt_vec_info_vec if simple_loop_info == NULL.

* gcc.dg/autopar/pr68460.c: New test.

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

9 years agolibsanitizer merge from upstream r253555, compiler part.
chefmax [Mon, 23 Nov 2015 09:15:13 +0000 (09:15 +0000)] 
libsanitizer merge from upstream r253555, compiler part.

gcc/

* opts.c (finish_options): Allow -fsanitize-recover=address for
userspace sanitization.
* asan.c (asan_expand_check_ifn): Redefine recover_p.
* doc/invoke.texi (fsanitize-recover): Update documentation.

gcc/testsuite/

* c-c++-common/asan/halt_on_error-1.c: New test.
* c-c++-common/asan/halt_on_error-2.c: Likewise.

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

9 years ago2015-11-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Nov 2015 09:11:00 +0000 (09:11 +0000)] 
2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68482
* gcc.dg/vect/pr68482.c: New testcase.

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

9 years agolibsanitizer merge from upstream r253555.
chefmax [Mon, 23 Nov 2015 09:07:18 +0000 (09:07 +0000)] 
libsanitizer merge from upstream r253555.

libsanitizer/

2015-11-23  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

* All source files: Merge from upstream r253555.
* configure.tgt: Enable LSan on aarch64-*-linux* targets. Add new
dependences for TSan for aarch64-*-linux* targets.
* tsan/Makefile.am: Add new source files.
* configure: Regenerate.
* tsan/Makefile.in: Likewise.

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

9 years agoMark by_ref mem_ref in build_receiver_ref as non-trapping
vries [Mon, 23 Nov 2015 08:56:49 +0000 (08:56 +0000)] 
Mark by_ref mem_ref in build_receiver_ref as non-trapping

2015-11-23  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping.

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

9 years ago2015-11-23 Richard Biener <rguenther@suse.de>
rguenth [Mon, 23 Nov 2015 08:36:59 +0000 (08:36 +0000)] 
2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68445
* tree-vect-slp.c (vect_create_mask_and_perm): Properly use
two different strides.

* gcc.dg/vect/pr68445.c: New testcase.

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

9 years agoS/390: Fix symbol ref alignment
krebbel [Mon, 23 Nov 2015 08:05:33 +0000 (08:05 +0000)] 
S/390: Fix symbol ref alignment

This patch fixes the treatment of symbol ref alignments for
arrays and structs in S390. Until now, the NOT_NATURALLY_ALIGNED flag
was not correctly set for array elements and structs larger than 8
bytes. Therefore, load relative instructions that require a specific
alignment would not always be generated. This patch uses separate flags
for 2-, 4-, and 8-byte alignment to fix the problem.

gcc/testsuite/ChangeLog:

2015-11-23  Robin Dapp  <rdapp@linux.vnet.ibm.com>

        * gcc.target/s390/load-relative-check.c: New test to check
        generation of load relative instructions.

gcc/ChangeLog:

2015-11-23  Robin Dapp  <rdapp@linux.vnet.ibm.com>

        * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc.
        * config/s390/s390.c (s390_check_symref_alignment): Use new
        symref flags, early abort on wrong alignment
        (s390_secondary_reload): Use new symref flags.
        (s390_encode_section_info): Likewise.
        * config/s390/predicates.md: Likewise.

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

9 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 23 Nov 2015 00:40:51 +0000 (00:40 +0000)] 
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/52251
* io/transfer.c (formatted_transfer_scalar_write): Reset skips count.
(finalize_transfer): For ADVANCE_NO, emit pending spaces and reset the
skip count.

2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/fmt_t_8.f90: New test.

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

9 years agoDaily bump.
gccadmin [Mon, 23 Nov 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agogcc/ChangeLog:
kugan [Sun, 22 Nov 2015 23:07:58 +0000 (23:07 +0000)] 
gcc/ChangeLog:

2015-11-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/68390
* config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
for indirect function call.

gcc/testsuite/ChangeLog:

2015-11-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/68390
* gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test.

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

9 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 22 Nov 2015 22:17:52 +0000 (22:17 +0000)] 
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/fmt_g0_1.f08: Update test. Leading zero.

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

9 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 22 Nov 2015 22:14:46 +0000 (22:14 +0000)] 
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* io/write_float.def (output_float): Move block determining
room for leading zero to before checkng g0 formatting.

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

9 years agolibitm: Fix recent changes to allocations log.
torvald [Sun, 22 Nov 2015 20:56:20 +0000 (20:56 +0000)] 
libitm: Fix recent changes to allocations log.

libitm/
* libitm_i.h (gtm_alloc_action): Remove union.
* testsuite/libitm.c/alloc-1.c: New.

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

9 years ago2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 22 Nov 2015 19:41:20 +0000 (19:41 +0000)] 
2015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* simplify.c (gfc_simplify_cshift):  Add EXPR_OP to mix.

2015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* gfortran.dg/simplify_cshift_2.f90: New test.

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

9 years ago gcc/fortran/
jnorris [Sun, 22 Nov 2015 19:25:29 +0000 (19:25 +0000)] 
gcc/fortran/
* openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
(gfc_resolve_oacc_declare): Fix comparision.

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

9 years ago gcc/fortran/
jnorris [Sun, 22 Nov 2015 16:45:38 +0000 (16:45 +0000)] 
gcc/fortran/
* dump-parse-tree.c (show_namespace): Handle declares.
* gfortran.h (struct symbol_attribute): New fields.
(enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
(OMP_LIST_LINK): New enum.
(struct gfc_oacc_declare): New structure.
(gfc_get_oacc_declare): New definition.
(struct gfc_namespace): Change type.
(enum gfc_exec_op): Add EXEC_OACC_DECLARE.
(struct gfc_code): New field.
* module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
(attr_bits): Add new initializers.
(mio_symbol_attribute): Handle new atributes.
* openmp.c (gfc_free_oacc_declare_clauses): New function.
(gfc_match_oacc_clause_link: Likewise.
(OMP_CLAUSE_LINK): New definition.
(gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
(OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
(gfc_match_oacc_declare): Add checking and module handling.
(resolve_omp_clauses): Add array initializer.
(gfc_resolve_oacc_declare): Reimplement.
* parse.c (case_decl): Add ST_OACC_DECLARE.
(parse_spec): Remove handling.
(parse_progunit): Remove handling.
* parse.h (struct gfc_state_data): Change type.
* resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
* st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
* symbol.c (check_conflict): Add conflict checks.
(gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
New functions.
(gfc_copy_attr): Handle new symbols.
* trans-decl.c (add_clause, find_module_oacc_declare_clauses,
finish_oacc_declare): New functions.
(gfc_generate_function_code): Replace with call.
* trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
(gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
* trans-stmt.c (gfc_trans_block_construct): Replace with call.
* trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
* trans.c (trans_code): Handle EXEC_OACC_DECLARE.

gcc/testsuite
* gfortran.dg/goacc/declare-1.f95: Update test.
* gfortran.dg/goacc/declare-2.f95: New test.

libgomp/
* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.

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

9 years ago[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants
jgreenhalgh [Sun, 22 Nov 2015 15:15:20 +0000 (15:15 +0000)] 
[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants

gcc/

* config/aarch64/arm_neon.h (vmulx_lane_f32): New.
(vmulx_lane_f64): Likewise.
(vmulxq_lane_f32): Refactored & moved.
(vmulxq_lane_f64): Likewise.
(vmulx_laneq_f32): New.
(vmulx_laneq_f64): Likewise.
(vmulxq_laneq_f32): Likewise.
(vmulxq_laneq_f64): Likewise.
(vmulxs_lane_f32): Likewise.
(vmulxs_laneq_f32): Likewise.
(vmulxd_lane_f64): Likewise.
(vmulxd_laneq_f64): Likewise.
* config/aarch64/aarch64-simd.md
(*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New pattern.
(*aarch64_mulx_elt<mode>, VDQF): Likewise.
(*aarch64_mulx_elt_to_64v2df): Likewise.
(*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise.

gcc/testsuite/

* gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New.

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

9 years agoDaily bump.
gccadmin [Sun, 22 Nov 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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