gcc.git
9 years agoAdd basic support for direct_optab internal functions
Richard Sandiford [Tue, 17 Nov 2015 18:37:45 +0000 (18:37 +0000)]
Add basic support for direct_optab internal functions

This patch adds a concept of internal functions that map directly to an
optab (here called "direct internal functions").  The function can only
be used if the associated optab can be used.

We currently have four functions like that:

- LOAD_LANES
- STORE_LANES
- MASK_LOAD
- MASK_STORE

so the patch converts them to the new infrastructure.  These four
all need different types of optabs, but future patches will add
regular unary and binary ones.

In general we need one or two modes to decide whether an optab is
supported, depending on whether it's a convert_optab or not.
This in turn means that we need up to two types to decide whether
an internal function is supported.  The patch records which types
are needed for each internal function, using -1 if the return type
should be used and N>=0 if the type of argument N should be used.

(LOAD_LANES and STORE_LANES are unusual in that both optab modes
come from the same array type.)

Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.

gcc/
* coretypes.h (tree_pair): New type.
* internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro.  Use it
for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES.
* internal-fn.h (direct_internal_fn_info): New structure.
(direct_internal_fn_array): Declare.
(direct_internal_fn_p, direct_internal_fn): New functions.
(direct_internal_fn_types, direct_internal_fn_supported_p): Declare.
* internal-fn.c (not_direct, mask_load_direct, load_lanes_direct)
(mask_store_direct, store_lanes_direct): New macros.
(direct_internal_fn_array) New array.
(get_multi_vector_move): Return the optab handler without asserting
that it is available.
(expand_LOAD_LANES): Rename to...
(expand_load_lanes_optab_fn): ...this and add an optab argument.
(expand_STORE_LANES): Rename to...
(expand_store_lanes_optab_fn): ...this and add an optab argument.
(expand_MASK_LOAD): Rename to...
(expand_mask_load_optab_fn): ...this and add an optab argument.
(expand_MASK_STORE): Rename to...
(expand_mask_store_optab_fn): ...this and add an optab argument.
(direct_internal_fn_types, direct_optab_supported_p)
(multi_vector_optab_supported_p, direct_internal_fn_supported_p)
(direct_internal_fn_supported_p): New functions.
(direct_mask_load_optab_supported_p): New macro.
(direct_load_lanes_optab_supported_p): Likewise.
(direct_mask_store_optab_supported_p): Likewise.
(direct_store_lanes_optab_supported_p): Likewise.

From-SVN: r230473

9 years agoAdd a combined_fn enum
Richard Sandiford [Tue, 17 Nov 2015 18:34:47 +0000 (18:34 +0000)]
Add a combined_fn enum

I'm working on a patch series that needs to be able to treat built-in
functions and internal functions in a similar way.  This patch adds a
new enum, combined_fn, that combines the two together.  It also adds
utility functions for seeing which combined_fn (if any) is called by
a given CALL_EXPR or gcall.

Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.

gcc/
* tree-core.h (internal_fn): Move immediately after the definition
of built_in_function.
(combined_fn): New enum.
* tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn)
(internal_fn_p, as_internal_fn): New functions.
(get_call_combined_fn, combined_fn_name): Declare.
* tree.c (get_call_combined_fn): New function.
(combined_fn_name): Likewise.
* gimple.h (gimple_call_combined_fn): Declare.
* gimple.c (gimple_call_combined_fn): New function.

From-SVN: r230472

9 years agore PR bootstrap/68346 (Bootstrap failure on i686-linux)
Jason Merrill [Tue, 17 Nov 2015 18:16:35 +0000 (13:16 -0500)]
re PR bootstrap/68346 (Bootstrap failure on i686-linux)

PR bootstrap/68346

* c-common.c (warn_tautological_cmp): Fold before checking for
constants.

From-SVN: r230471

9 years agore PR bootstrap/68361 (Bootstrap failure with --enable-checking=release)
Jason Merrill [Tue, 17 Nov 2015 18:16:29 +0000 (13:16 -0500)]
re PR bootstrap/68361 (Bootstrap failure with --enable-checking=release)

PR bootstrap/68361

* cvt.c (cp_convert_and_check): Use warning_sentinel to suppress
-Wparentheses.

From-SVN: r230470

9 years agoFix PR number in ChangeLog
Sandra Loosemore [Tue, 17 Nov 2015 18:15:34 +0000 (13:15 -0500)]
Fix PR number in ChangeLog

From-SVN: r230469

9 years agoPR c++/68308 - [6 Regression] ICE: tree check: expected integer_cst,
Martin Sebor [Tue, 17 Nov 2015 18:09:36 +0000 (18:09 +0000)]
PR c++/68308 - [6 Regression] ICE: tree check: expected integer_cst,

have var_decl in decompose, at tree.h:5105

gcc/
    * cp/init.c (build_new_1): Check for expression constness
    the right way.

testsuite/
    * g++.dg/init/new46.C: New test.

From-SVN: r230468

9 years agore PR other/56036 (Wrong indentation in multiple -O options explaination)
Sandra Loosemore [Tue, 17 Nov 2015 18:06:01 +0000 (13:06 -0500)]
re PR other/56036 (Wrong indentation in multiple -O options explaination)

2015-11-17  Sandra Loosemore  <sandra@codesourcery.com>

PR target/56036
* doc/invoke.texi (Option Summary): Add -mms-bitfields to x86
option list.
(x86 Options): Add -mms-bitfields and -mno-ms-bitfields.  Move
discussion of the Microsoft structure layout details here from
its former home in extend.texi.
* doc/extend.texi (x86 Variable Attributes): Replace detailed
discussion with pointer to its new location.  Add cross-reference
to corresponding type attributes.
(x86 Type Attributes): Add cross-references to command-line options
and variable attributes.

From-SVN: r230467

9 years agopriority_queue.c: New file.
Cesar Philippidis [Tue, 17 Nov 2015 17:29:34 +0000 (09:29 -0800)]
priority_queue.c: New file.

libgomp/
* config/nvptx/priority_queue.c: New file.

From-SVN: r230466

9 years agore PR fortran/65751 (Bogus &L in error message)
Dominique d'Humieres [Tue, 17 Nov 2015 16:29:45 +0000 (17:29 +0100)]
re PR fortran/65751 (Bogus &L in error message)

2015-11-17  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/65751
* expr.c (gfc_check_pointer_assign): Fix error message.

* gfortran.dg/unlimited_polymorphic_2.f03: Update test.

From-SVN: r230465

9 years agore PR middle-end/68134 (float64x1_t comparison ICE on aarch64-none-elf)
Ilya Enkovich [Tue, 17 Nov 2015 13:22:40 +0000 (13:22 +0000)]
re PR middle-end/68134 (float64x1_t comparison ICE on aarch64-none-elf)

gcc/

PR middle-end/68134
* targhooks.c (default_get_mask_mode): Filter out
scalar modes returned by mode_for_vector.

gcc/testsuite/

PR middle-end/68134
* gcc.dg/pr68134.c: New test.

From-SVN: r230463

9 years ago[ARM] PR 68143 Properly update memory offsets when expanding setmem
Kyrylo Tkachov [Tue, 17 Nov 2015 13:20:08 +0000 (13:20 +0000)]
[ARM] PR 68143 Properly update memory offsets when expanding setmem

PR target/68143
* config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of
offset from dstbase and use it appropriately in
adjust_automodify_address.
(arm_block_set_aligned_vect): Likewise.

* gcc.c-torture/execute/pr68143_1.c: New test.

From-SVN: r230462

9 years ago* ChangeLog: Add missing entry.
Uros Bizjak [Tue, 17 Nov 2015 11:00:08 +0000 (12:00 +0100)]
* ChangeLog: Add missing entry.

From-SVN: r230460

9 years agot-visium (MULTILIB_OPTIONS): Add muser-mode.
Eric Botcazou [Tue, 17 Nov 2015 10:54:13 +0000 (10:54 +0000)]
t-visium (MULTILIB_OPTIONS): Add muser-mode.

* config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode.
(MULTILIB_DIRNAMES): Adjust accordingly.

From-SVN: r230459

9 years ago[Patch AArch64] Add support for Cortex-A35
James Greenhalgh [Tue, 17 Nov 2015 10:41:17 +0000 (10:41 +0000)]
[Patch AArch64] Add support for Cortex-A35

gcc/

* config/aarch64/aarch64-cores.def (cortex-a35): New.
* config/aarch64/aarch64.c (cortexa35_tunings): New.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi (-mcpu): Add Cortex-A35

From-SVN: r230458

9 years agoFix commit date
Eric Botcazou [Tue, 17 Nov 2015 10:28:23 +0000 (10:28 +0000)]
Fix commit date

From-SVN: r230457

9 years agore PR target/68263 (Vector "*mov<mode>_internal" fails to handle misaligned load...
Uros Bizjak [Tue, 17 Nov 2015 09:45:35 +0000 (10:45 +0100)]
re PR target/68263 (Vector "*mov<mode>_internal" fails to handle misaligned load/store from reload)

PR target/68263
* config/i386/i386.h (BIGGEST_ALIGNMENT): Always define
to 32 for IAMCU.
* config/i386/sse.md (*mov<mode>_internal): Always enable
AVX and SSE unaligned moves for IAMCU.

From-SVN: r230456

9 years agopr68264.c: Use dg-add-options ieee.
Uros Bizjak [Tue, 17 Nov 2015 09:17:36 +0000 (10:17 +0100)]
pr68264.c: Use dg-add-options ieee.

* gcc.dg/torture/pr68264.c: Use dg-add-options ieee.

From-SVN: r230455

9 years agoRelax trap assumptions in tree if convert.
Venkataramanan Kumar [Tue, 17 Nov 2015 07:41:08 +0000 (07:41 +0000)]
Relax trap assumptions in tree if convert.

2015-11-17  Venkataramanan Kumar  <Venkataramanan.Kumar@amd.com>

* tree-if-conv.c: Include varasm.h
(ref_DR_map): Define.
(baseref_DR_map): Like wise
(struct ifc_dr): Add new tree predicate field.
(hash_memrefs_baserefs_and_store_DRs_read_written_info): New function.
(memrefs_read_or_written_unconditionally): Remove.
(write_memrefs_written_at_least_once): Remove.
(ifcvt_memrefs_wont_trap): Use hash maps to query
unconditional read/written information.
(if_convertible_loop_p_1):  Initialize hash maps and predicates
before hashing data references and delete hashmaps at the end.

2015-11-17  Venkataramanan Kumar  <Venkataramanan.Kumar@amd.com>

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

From-SVN: r230454

9 years agoconstexpr.c (cxx_eval_builtin_function_call): Use cp_fully_fold to fold arguments...
Jason Merrill [Tue, 17 Nov 2015 03:58:18 +0000 (22:58 -0500)]
constexpr.c (cxx_eval_builtin_function_call): Use cp_fully_fold to fold arguments to __builtin_constant_p.

* constexpr.c (cxx_eval_builtin_function_call): Use cp_fully_fold
to fold arguments to __builtin_constant_p.

From-SVN: r230453

9 years agore PR other/56036 (Wrong indentation in multiple -O options explaination)
Thomas Preud'homme [Tue, 17 Nov 2015 01:56:17 +0000 (01:56 +0000)]
re PR other/56036 (Wrong indentation in multiple -O options explaination)

2015-11-16  Thomas Preud'homme <thomas.preudhomme@arm.com>

PR 56036
* doc/invoke.texi (Optimize Options): Move @end table to the right
place.

From-SVN: r230452

9 years agore PR other/65129 (gcc manual index entry of __builtin_assume_aligned)
Sandra Loosemore [Tue, 17 Nov 2015 01:19:59 +0000 (20:19 -0500)]
re PR other/65129 (gcc manual index entry of __builtin_assume_aligned)

2015-11-16  Sandra Loosemore  <sandra@codesourcery.com>

PR 65129
* doc/extend.texi (__builtin_assume_aligned): Fix formatting of
return value.

From-SVN: r230451

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

From-SVN: r230448

9 years ago* sv.po: Update.
Joseph Myers [Mon, 16 Nov 2015 23:15:57 +0000 (23:15 +0000)]
* sv.po: Update.

From-SVN: r230442

9 years agovsx.md (VSX_L): Do not include IBM extended double 128-bit types...
Michael Meissner [Mon, 16 Nov 2015 22:13:21 +0000 (22:13 +0000)]
vsx.md (VSX_L): Do not include IBM extended double 128-bit types...

2015-11-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
128-bit types, just types that fit in a single vector.
* config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.

From-SVN: r230440

9 years agoinline asm and multi-alternative constraints
David Wohlferd [Mon, 16 Nov 2015 21:57:12 +0000 (21:57 +0000)]
inline asm and multi-alternative constraints

* doc/md.texi ('#' and '*' constraint modifiers): Do not include these
in the user documentation.
(define_peephole2, define_split): Similarly.

From-SVN: r230439

9 years agore PR libstdc++/67440 (pretty-printing of a const set<foo> fails)
Doug Evans [Mon, 16 Nov 2015 21:32:26 +0000 (21:32 +0000)]
re PR libstdc++/67440 (pretty-printing of a const set<foo> fails)

PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
type name.
* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
const set<int>.
* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.

From-SVN: r230437

9 years agolto-streamer-out.c (write_global_references): Adjust integer type.
Andris Pavenis [Mon, 16 Nov 2015 21:13:37 +0000 (23:13 +0200)]
lto-streamer-out.c (write_global_references): Adjust integer type.

* lto-streamer-out.c (write_global_references): Adjust integer type.
(lto_output_decl_state_refs): Likewise.

From-SVN: r230436

9 years agore PR c++/68362 (ICE: tree check: expected integer_cst, have nop_expr in get_val...
Marek Polacek [Mon, 16 Nov 2015 20:16:57 +0000 (20:16 +0000)]
re PR c++/68362 (ICE: tree check: expected integer_cst, have nop_expr in get_val, at tree.h:5157)

PR c++/68362
* c-common.c (check_case_bounds): Fold low and high cases.

* g++.dg/delayedfold/switch-1.C: New test.

From-SVN: r230435

9 years agore PR fortran/58027 ("Arithmetic overflow converting ..." in PARAMETER triggers an...
Steven G. Kargl [Mon, 16 Nov 2015 19:15:25 +0000 (19:15 +0000)]
re PR fortran/58027 ("Arithmetic overflow converting ..." in PARAMETER triggers an ICE)

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

PR fortran/58027
PR fortran/60993
* expr.c (gfc_check_init_expr): Prevent a redundant check when a
__convert_* function was inserted into an array constructor.
(gfc_check_assign_symbol): Check for an initialization expression
when a __convert_* was inserted.

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

PR fortran/58027
PR fortran/60993
* gfortran.dg/pr58027.f90: New test.

From-SVN: r230433

9 years agoc-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
Marek Polacek [Mon, 16 Nov 2015 17:58:39 +0000 (17:58 +0000)]
c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.

* c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
* c-common.c (c_common_get_alias_set): Likewise.
(handle_visibility_attribute): Likewise.

From-SVN: r230432

9 years ago[Patch ARM] Add support for Cortex-A35
James Greenhalgh [Mon, 16 Nov 2015 17:41:10 +0000 (17:41 +0000)]
[Patch ARM] Add support for Cortex-A35

gcc/

* config/arm/arm-cores.def (cortex-a35): New.
* config/arm/arm.c (arm_cortex_a35_tune): New.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35.
* config/arm/t-aprofile: Likewise.
* doc/invoke.texi (-mcpu): Likewise.

From-SVN: r230431

9 years agoAdd missing v8a cpus to the t-aprofile file.
Jim Wilson [Mon, 16 Nov 2015 16:30:44 +0000 (16:30 +0000)]
Add missing v8a cpus to the t-aprofile file.

gcc/
* config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1
and qdf24xx and xgene1 to match -march=armv8-a.

From-SVN: r230430

9 years agosimplify-rtx: Simplify sign_extend of lshiftrt to zero_extend (PR68330)
Segher Boessenkool [Mon, 16 Nov 2015 15:51:33 +0000 (16:51 +0100)]
simplify-rtx: Simplify sign_extend of lshiftrt to zero_extend (PR68330)

Since r230164, in PR68330 combine ends up with a sign_extend of an
lshiftrt by some constant, and it does not know to morph that into a
zero_extract (the extend will always extend with zeroes).  I think
it is best to let simplify-rtx always replace such a sign_extend by
a zero_extend, after which everything works as expected.

2015-11-15  Segher Boessenkool  <segher@kernel.crashing.org>

PR rtl-optimization/68330
* simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND
of LSHIFTRT by a non-zero constant integer.

From-SVN: r230429

9 years agore PR tree-optimization/68306 (ICE: in vectorizable_store, at tree-vect-stmts.c:5651)
Richard Biener [Mon, 16 Nov 2015 15:04:00 +0000 (15:04 +0000)]
re PR tree-optimization/68306 (ICE: in vectorizable_store, at tree-vect-stmts.c:5651)

2015-11-16  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/68306
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix
bogus copying from verify_data_ref_alignment and use continue
instead of return.

From-SVN: r230428

9 years agore PR target/68277 ([SH]: error: insn does not satisfy its constraints when compiling...
Oleg Endo [Mon, 16 Nov 2015 14:11:50 +0000 (14:11 +0000)]
re PR target/68277 ([SH]: error: insn does not satisfy its constraints when compiling erlang)

gcc/
PR target/68277
* config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
operands[2].
(*addsi3): Add another insn_and_split variant for reload.

Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r230425

9 years agore PR middle-end/68117 (error: invalid PHI argument <<< Unknown tree: <invalid tree...
Richard Biener [Mon, 16 Nov 2015 14:06:08 +0000 (14:06 +0000)]
re PR middle-end/68117 (error: invalid PHI argument <<< Unknown tree: <invalid tree code> >>>)

2015-11-16  Richard Biener  <rguenther@suse.de>

PR middle-end/68117
* cfgexpand.c (pass_expand::execute): Destroy the edge
redirection var map before setting RTL CFG hooks.

From-SVN: r230424

9 years ago[i386]Migrate reduction optabs to reduc_<op>_scal
Alan Lawrence [Mon, 16 Nov 2015 13:53:23 +0000 (13:53 +0000)]
[i386]Migrate reduction optabs to reduc_<op>_scal

* config/i386/sse.md (reduc_splus_v8df): Rename to...
(reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar.

(reduc_splus_v4df): Rename to...
(reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar.

(reduc_splus_v2df): Rename to...
(reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar.

(reduc_splus_v16sf): Rename to...
(reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar.

(reduc_splus_v8sf): Rename to...
(reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar.

(reduc_splus_v4sf): Rename to...
(reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar.

(reduc_<code>_<mode>, all 3 variants): Rename each to...
(reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar.

(reduc_umin_v8hf): Rename to...
(reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar.

From-SVN: r230423

9 years agoAdd __attribute__((__simd__)) to GCC.
Kirill Yukhin [Mon, 16 Nov 2015 13:14:57 +0000 (13:14 +0000)]
Add __attribute__((__simd__)) to GCC.

gcc/
* omp-low.c (pass_omp_simd_clone::gate): If target allows - call
without additional conditions.
* doc/extend.texi (@item simd): New.
gcc/c-family/
* c-common.c (handle_simd_attribute): New.
(struct attribute_spec): Add entry for "simd".
(handle_simd_attribute): New.
gcc/c/
* c-parser.c (c_finish_omp_declare_simd): Look for
"simd" attribute as well. Update error message.
gcc/cp/
* parser.c (cp_parser_late_parsing_cilk_simd_fn_info): Look for
"simd" attribute as well. Update error message.
gcc/testsuite/
* c-c++-common/attr-simd.c: New test.
* c-c++-common/attr-simd-2.c: New test.
* c-c++-common/attr-simd-3.c: New test.

From-SVN: r230422

9 years ago[AArch64] Fix gcc.target/aarch64/vclz.c
Alan Lawrence [Mon, 16 Nov 2015 12:41:20 +0000 (12:41 +0000)]
[AArch64] Fix gcc.target/aarch64/vclz.c

* gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION.

From-SVN: r230421

9 years agoRemove first_pass_instance
Tom de Vries [Mon, 16 Nov 2015 12:40:50 +0000 (12:40 +0000)]
Remove first_pass_instance

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

* passes.c (first_pass_instance): Remove variable.
(execute_todo): Remove setting of first_pass_instance.
* tree-pass.h (first_pass_instance): Remove declaration.

From-SVN: r230420

9 years agoRemove first_pass_instance from pass_ccp
Tom de Vries [Mon, 16 Nov 2015 12:40:41 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_ccp

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

* passes.def: Add arg to pass_ccp pass instantiation.
* tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p.  Use nonzero_p
instead of first_pass_instance.
(do_ssa_ccp): Add and handle param nonzero_p.
(pass_ccp::pass_ccp): Initialize nonzero_p.
(pass_ccp::set_pass_param): New member function.  Set nonzero_p.
(pass_ccp::execute): Call do_ssa_ccp with extra arg.
(pass_ccp::nonzero_p): New private member.

From-SVN: r230419

9 years agoRemove first_pass_instance from pass_object_sizes
Tom de Vries [Mon, 16 Nov 2015 12:40:33 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_object_sizes

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

* passes.def: Add arg to pass_object_sizes pass instantiation.
* tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize
insert_min_max_p.
(pass_object_sizes::set_pass_param): New member function.  Set
insert_min_max_p.
(pass_object_sizes::insert_min_max_p): New private member.
(pass_object_sizes::execute): Use insert_min_max_p instead of
first_pass_instance.

From-SVN: r230418

9 years agoRemove first_pass_instance from pass_dominator
Tom de Vries [Mon, 16 Nov 2015 12:40:24 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_dominator

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

* passes.def: Add arg to pass_dominator pass instantiation.
* tree-pass.h (first_pass_instance): Remove pass_dominator-related bit
of comment.
* tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize
may_peel_loop_headers_p.
(pass_dominator::set_pass_param): New member function.  Set
may_peel_loop_headers_p.
(pass_dominator::may_peel_loop_headers_p): New private member.
(pass_dominator::execute): Use may_peel_loop_headers_p instead of
first_pass_instance.

From-SVN: r230417

9 years agoRemove first_pass_instance from pass_reassoc
Tom de Vries [Mon, 16 Nov 2015 12:40:14 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_reassoc

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

* passes.def: Add arg to pass_reassoc pass instantiation.
* tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable.
(acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead
of first_pass_instance.
(execute_reassoc): Add and handle insert_powi_p parameter.
(pass_reassoc::insert_powi_p): New private member.
(pass_reassoc::pass_reassoc): Initialize insert_powi_p.
(pass_reassoc::set_pass_param): New member function.  Set insert_powi_p.
(pass_reassoc::execute): Call execute_reassoc with extra arg.

From-SVN: r230416

9 years agoRemove first_pass_instance from pass_vrp
Tom de Vries [Mon, 16 Nov 2015 12:40:05 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_vrp

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

* gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument.
* gen-pass-instances.awk (handle_line): Same.
* pass_manager.h (class pass_manager): Define and undefine
NEXT_PASS_WITH_ARG.
* passes.c (opt_pass::set_pass_param): New function.
(pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG.
* passes.def: Add extra arg to NEXT_PASS (pass_vrp).
* tree-pass.h (gimple_opt::set_pass_param): Declare.
* tree-vrp.c (vrp_finalize, execute_vrp): Add and handle
warn_array_bounds_p parameter.
(pass_vrp::pass_vrp): Initialize warn_array_bounds_p.
(pass_vrp::set_pass_param): New function.
(pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call.
(pass_vrp::warn_array_bounds_p): New private member.

From-SVN: r230415

9 years agosparc.c (sparc_emit_probe_stack_range): Adjust.
Eric Botcazou [Mon, 16 Nov 2015 12:19:22 +0000 (12:19 +0000)]
sparc.c (sparc_emit_probe_stack_range): Adjust.

* config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.

From-SVN: r230414

9 years agors6000.c (rs6000_emit_probe_stack_rang): Adjust.
Eric Botcazou [Mon, 16 Nov 2015 12:17:51 +0000 (12:17 +0000)]
rs6000.c (rs6000_emit_probe_stack_rang): Adjust.

* config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.

From-SVN: r230413

9 years agoi386.c (ix86_adjust_stack_and_probe): Adjust and use an lea instruction when possible.
Eric Botcazou [Mon, 16 Nov 2015 12:16:54 +0000 (12:16 +0000)]
i386.c (ix86_adjust_stack_and_probe): Adjust and use an lea instruction when possible.

* config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use
an lea instruction when possible.
(output_adjust_stack_and_probe): Rotate the loop and simplify.
(ix86_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.

From-SVN: r230412

9 years agoarm_neon.h: Remove #ifndef check on __ARM_NEON.
Christian Bruel [Mon, 16 Nov 2015 11:25:02 +0000 (12:25 +0100)]
arm_neon.h: Remove #ifndef check on __ARM_NEON.

2015-11-16  Christian Bruel  <christian.bruel@st.com>

* config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON.
Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP
with appropriate pragma GCC target.

2015-11-16  Christian Bruel  <christian.bruel@st.com>

* lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache):
 Check __ARM_NEON__ instead of "arm_neon.h.
* gcc.target/arm/attr-neon3.c: New test.
* gcc.target/arm/attr-neon-fp16.c: Likewise

From-SVN: r230411

9 years agore PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
Christian Bruel [Mon, 16 Nov 2015 11:20:02 +0000 (12:20 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)

2015-11-16  Christian Bruel  <christian.bruel@st.com>

PR target/65837
* config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset
__ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP.

From-SVN: r230410

9 years ago[AArch64] Cortex-A57 Choose some new branch costs.
James Greenhalgh [Mon, 16 Nov 2015 10:30:21 +0000 (10:30 +0000)]
[AArch64] Cortex-A57 Choose some new branch costs.

gcc/

* config/aarch64/aarch64.c (cortexa57_branch_costs): New.
(cortexa57_tunings): Use it.

From-SVN: r230409

9 years agore PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
Christian Bruel [Mon, 16 Nov 2015 10:21:09 +0000 (11:21 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)

2015-11-16  Christian Bruel  <christian.bruel@st.com>

PR target/65837
* config/arm/arm-c.c (arm_cpu_builtins): Set or reset
__ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__
(arm_pragma_target_parse): Change check for arm_cpu_builtins.
undefine __ARM_FP.
* config/arm/arm.c (arm_can_inline_p): Check FPUs.
(arm_valid_target_attribute_rec): Handle -mfpu attribute target.
* doc/invoke.texi (-mfpu=): Mention attribute and pragma.
* doc/extend.texi (-mfpu=): Describe attribute.

2015-11-16  Christian Bruel  <christian.bruel@st.com>

PR target/65837
gcc.target/arm/lto/pr65837_0.c
gcc.target/arm/attr-neon2.c
gcc.target/arm/attr-neon.c
gcc.target/arm/attr-neon-builtin-fail.c
gcc.target/arm/attr-crypto.c

From-SVN: r230408

9 years agocoding nit
Christian Bruel [Mon, 16 Nov 2015 09:38:29 +0000 (10:38 +0100)]
coding nit

From-SVN: r230407

9 years agore PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
Christian Bruel [Mon, 16 Nov 2015 09:00:09 +0000 (10:00 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)

2015-11-16  Christian Bruel  <christian.bruel@st.com>

PR target/65837
* config/arm/arm-protos.h (arm_init_neon_builtins): Declare.
* config/arm/arm.c (arm_valid_target_attribute_tree): Call
arm_init_neon_builtins.
* config/arm/arm-builtins.c (arm_init_neon_builtins): Split into...
(arm_init_neon_builtins_internal)
(arm_init_crypto_builtins_internal):
Test and set neon_set_p, neon_crypto_set_p.
(neon_set_p, neon_crypto_set_p): New static booleans.

From-SVN: r230406

9 years agobb-slp-32.c: Adjust testcase.
Richard Biener [Mon, 16 Nov 2015 08:57:42 +0000 (08:57 +0000)]
bb-slp-32.c: Adjust testcase.

2015-11-16  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/bb-slp-32.c: Adjust testcase.

From-SVN: r230405

9 years agore PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
Christian Bruel [Mon, 16 Nov 2015 08:46:42 +0000 (09:46 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)

2015-11-16  Christian Bruel  <christian.bruel@st.com>

PR target/65837
* config/arm/arm.c (arm_fpu_desc): Remove.
(all_fpus): Make global.
(arm_option_override): Use FPU TARGET accessors.
(arm_declare_function_name): Likewise.
* config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5)
(TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16)
(TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO)
(TARGET_NEON): Likewise.
(all_fpus): Declare extern.
(TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV)
(TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors.

From-SVN: r230404

9 years agoPR 68366 - include emit-rtl.h in sdbout.c
Trevor Saunders [Mon, 16 Nov 2015 02:28:15 +0000 (02:28 +0000)]
PR 68366 - include emit-rtl.h in sdbout.c

Some of the pa target macros rely on macros in emit-rtl.h and sdbout.c
uses some of those macros, which means that sdbout.c needs to include
emit-rtl.h.

gcc/ChangeLog:

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

PR middle-end/68366
* sdbout.c: Include emit-rtl.h and function.h.

From-SVN: r230402

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

From-SVN: r230401

9 years agoon_exit.c: New file.
David Edelsohn [Sun, 15 Nov 2015 23:41:44 +0000 (23:41 +0000)]
on_exit.c: New file.

        * config/rs6000/on_exit.c: New file.
        * config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c.
        * config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports.

From-SVN: r230398

9 years agofreebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
Gerald Pfeifer [Sun, 15 Nov 2015 20:03:24 +0000 (20:03 +0000)]
freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.

* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
Remove support for FreeBSD 5 and earlier.

From-SVN: r230397

9 years agore PR fortran/50221 (Allocatable string length fails with array assignment)
Paul Thomas [Sun, 15 Nov 2015 14:07:52 +0000 (14:07 +0000)]
re PR fortran/50221 (Allocatable string length fails with array assignment)

2015-11-15  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/50221
PR fortran/68216
PR fortran/63932
PR fortran/66408
* trans_array.c (gfc_conv_scalarized_array_ref): Pass the
symbol decl for deferred character length array references.
* trans-stmt.c (gfc_trans_allocate): Keep the string lengths
to update deferred length character string lengths.
* trans-types.c (gfc_get_dtype_rank_type); Use the string
length of deferred character types for the dtype size.
* trans.c (gfc_build_array_ref): For references to deferred
character arrays, use the domain max value, if it is a variable
to set the 'span' and use pointer arithmetic for acces to the
element.
(trans_code): Set gfc_current_locus for diagnostic purposes.

PR fortran/67674
* trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
string lengths of components.

PR fortran/49954
* resolve.c (deferred_op_assign): New function.
(gfc_resolve_code): Call it.
* trans-array.c (concat_str_length): New function.
(gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
realloc blocks for deferred character length arrays because the
string length might change, even if the shape is the same. Call
concat_str_length to obtain the string length for concatenation
since it is needed to compute the lhs string length.
Set the descriptor dtype appropriately for the new string
length.
* trans-expr.c (gfc_trans_assignment_1): Use the rse string
length for all characters, other than deferred types. For
concatenation operators, push the rse.pre block to the inner
most loop so that the temporary pointer and the assignments
are properly placed.

2015-11-15  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/50221
* gfortran.dg/deferred_character_1.f90: New test.
* gfortran.dg/deferred_character_4.f90: New test for comment
#4 of the PR.

PR fortran/68216
* gfortran.dg/deferred_character_2.f90: New test.

PR fortran/67674
* gfortran.dg/deferred_character_3.f90: New test.

PR fortran/63932
* gfortran.dg/deferred_character_5.f90: New test.

PR fortran/66408
* gfortran.dg/deferred_character_6.f90: New test.

PR fortran/49954
* gfortran.dg/deferred_character_7.f90: New test.

From-SVN: r230396

9 years agoPR libstdc++/68353 fix _GLIBCXX_USE_C99_WCHAR test
Jonathan Wakely [Sun, 15 Nov 2015 11:15:08 +0000 (11:15 +0000)]
PR libstdc++/68353 fix _GLIBCXX_USE_C99_WCHAR test

PR libstdc++/68353
* include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
not whether it is defined.
* include/ext/vstring.h: Likewise.

From-SVN: r230395

9 years agoalways define ENABLE_OFFLOADING
Trevor Saunders [Sun, 15 Nov 2015 00:18:08 +0000 (00:18 +0000)]
always define ENABLE_OFFLOADING

gcc/cp/ChangeLog:

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

* parser.c (cp_parser_omp_declare_target): Adjust.

gcc/ChangeLog:

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

* configure: Regenerate.
* configure.ac: Always define ENABLE_OFFLOADING.
* cgraph.c (cgraph_node::create): Adjust.
* gcc.c (process_command): Likewise.
* omp-low.c (create_omp_child_function): Likewise.
(expand_omp_target): Likewise.
* varpool.c (varpool_node::get_create): Likewise.

gcc/c/ChangeLog:

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

* c-parser.c (c_parser_omp_declare_target): Adjust.

From-SVN: r230393

9 years agoalways define EH_RETURN_HANDLER_RTX
Trevor Saunders [Sun, 15 Nov 2015 00:18:01 +0000 (00:18 +0000)]
always define EH_RETURN_HANDLER_RTX

gcc/ChangeLog:

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

* defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
* df-scan.c (df_get_exit_block_use_set): Adjust.
* except.c (expand_eh_return): Likewise.

From-SVN: r230392

9 years agoalways define TARGET_PECOFF
Trevor Saunders [Sun, 15 Nov 2015 00:17:56 +0000 (00:17 +0000)]
always define TARGET_PECOFF

gcc/ChangeLog:

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

* config/i386/i386.h (TARGET_PECOFF): Remove define.
* defaults.h (TARGET_PECOFF): New default definition.
* varasm.c (handle_vtv_comdat_section): Adjust.

gcc/cp/ChangeLog:

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

* vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.

From-SVN: r230391

9 years agoremove conditional compilation of sdb debug info
Trevor Saunders [Sun, 15 Nov 2015 00:17:51 +0000 (00:17 +0000)]
remove conditional compilation of sdb debug info

gcc/ChangeLog:

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

* defaults.h: New definition of SDB_DEBUGGING_INFO.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Adjust.
* final.c (rest_of_clean_state): Remove check if
SDB_DEBUGGING_INFO is defined.
* function.c (number_blocks): Likewise.
* output.h: Likewise.
* sdbout.c: Likewise.
* toplev.c (process_options): Likewise.

From-SVN: r230390

9 years agoremove EXTENDED_SDB_BASIC_TYPES
Trevor Saunders [Sun, 15 Nov 2015 00:17:43 +0000 (00:17 +0000)]
remove EXTENDED_SDB_BASIC_TYPES

The last target using this was i960, which was removed many years ago,
so there's no reason to keep it.

gcc/ChangeLog:

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

* gsyms.h (enum sdb_type): Remove code for
EXTENDED_SDB_BASIC_TYPES.
(enum sdb_masks): Likewise.
* sdbout.c (plain_type_1): Likewise.
* system.h: Poison EXTENDED_SDB_BASIC_TYPES macro.

From-SVN: r230389

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

From-SVN: r230388

9 years agolibgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 sections.
Jakub Jelinek [Sat, 14 Nov 2015 22:02:42 +0000 (23:02 +0100)]
libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 sections.

* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
sections.

From-SVN: r230384

9 years agoacinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation from darwin to...
Andreas Tobler [Sat, 14 Nov 2015 21:17:24 +0000 (22:17 +0100)]
acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation from darwin to DragonFly.

2015-11-14  Andreas Tobler  <andreast@gcc.gnu.org>

    * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
    from darwin to DragonFly.
    * configure: Regenerate.
    * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
    support, do it the same as DragonFly.
    * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.

From-SVN: r230383

9 years agore PR bootstrap/68346 (Bootstrap failure on i686-linux)
Jason Merrill [Sat, 14 Nov 2015 18:54:16 +0000 (13:54 -0500)]
re PR bootstrap/68346 (Bootstrap failure on i686-linux)

PR bootstrap/68346
* call.c (build_new_op_1): Don't fold arguments to
warn_tautological_cmp.

From-SVN: r230382

9 years agoomp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls...
Jakub Jelinek [Sat, 14 Nov 2015 18:42:13 +0000 (19:42 +0100)]
omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if...

gcc/
2015-11-14  Jakub Jelinek  <jakub@redhat.com>

* omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_*
internal calls - 0 if ordered simd and 1 for ordered threads simd.
* tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_*
argument is 1, replace it with GOMP_ordered_* call instead of removing
it.
gcc/c/
2015-11-14  Jakub Jelinek  <jakub@redhat.com>

* c-typeck.c (c_finish_omp_clauses): Don't mark
GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
gcc/cp/
2015-11-14  Jakub Jelinek  <jakub@redhat.com>

* semantics.c (finish_omp_clauses): Don't mark
GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
libgomp/
2015-11-14  Jakub Jelinek  <jakub@redhat.com>
    Aldy Hernandez  <aldyh@redhat.com>
    Ilya Verbin  <ilya.verbin@intel.com>

* ordered.c (gomp_doacross_init, GOMP_doacross_post,
GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
iterators or IV by chunk size.
* parallel.c (gomp_resolve_num_threads): Don't assume that
if thr->ts.team is non-NULL, then pool must be non-NULL.
* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
GOMP_PLUGIN_target_task_completion.
* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
* Makefile.in: Regenerate.
* libgomp.h: Shuffle prototypes and forward definitions around so
priority queues can be defined.
(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
(enum gomp_target_task_state): New enum.
(struct gomp_target_task): Add state, tgt, task and team fields.
(gomp_create_target_task): Change return type to bool, add
state argument.
(gomp_target_task_fn): Change return type to bool.
(struct gomp_device_descr): Add async_run_func.
(struct gomp_task): Remove children, next_child, prev_child,
next_queue, prev_queue, next_taskgroup, prev_taskgroup.
Add pnode field.
(struct gomp_taskgroup): Remove children.
Add taskgroup_queue.
(struct gomp_team): Change task_queue type to a priority queue.
(splay_compare): Define inline.
(priority_queue_offset): New.
(priority_node_to_task): New.
(task_to_priority_node): New.
* oacc-mem.c: Do not include splay-tree.h.
* priority_queue.c: New file.
* priority_queue.h: New file.
* splay-tree.c: Do not include splay-tree.h.
(splay_tree_foreach_internal): New.
(splay_tree_foreach): New.
* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
(splay_tree_callback): Define typedef.
* target.c (splay_compare): Move to libgomp.h.
(GOMP_target): Don't adjust *thr in any way around running offloaded
task.
(GOMP_target_ext): Likewise.  Handle target nowait.
(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
return value from gomp_create_target_task, if false, fallthrough
as if no dependencies exist.
(gomp_target_task_fn): Change return type to bool, return true
if the task should have another part scheduled later.  Handle
target nowait.
(gomp_load_plugin_for_device): Initialize async_run.
* task.c (gomp_init_task): Initialize children_queue.
(gomp_clear_parent_in_list): New.
(gomp_clear_parent_in_tree): New.
(gomp_clear_parent): Handle priorities.
(GOMP_task): Likewise.
(priority_queue_move_task_first,
gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
New functions.
(gomp_create_target_task): Use priority queues.  Change return type
to bool, add state argument, return false if for async
{{enter,exit} data,update} constructs no dependencies need to be
waited for, handle target nowait.  Set task->fn to NULL instead of
gomp_target_task_fn.
(verify_children_queue): Remove.
(priority_list_upgrade_task): New.
(priority_queue_upgrade_task): New.
(verify_task_queue): Remove.
(priority_list_downgrade_task): New.
(priority_queue_downgrade_task): New.
(gomp_task_run_pre): Use priority queues.
Abstract code out to priority_queue_downgrade_task.
(gomp_task_run_post_handle_dependers): Use priority queues.
(gomp_task_run_post_remove_parent): Likewise.
(gomp_task_run_post_remove_taskgroup): Likewise.
(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
tasks specially.
(GOMP_taskwait): Likewise.
(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
priority-queue_upgrade_task.
(GOMP_taskgroup_start): Use priority queues.
(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
barrier.
* taskloop.c (GOMP_taskloop): Handle priorities.
* team.c (gomp_new_team): Call priority_queue_init.
(free_team): Call priority_queue_free.
(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
team created for target nowait in implicit parallel region.
(gomp_team_start): For nested check, test thr->ts.level instead of
thr->ts.team != NULL.
* testsuite/libgomp.c/doacross-3.c: New test.
* testsuite/libgomp.c/ordered-5.c: New test.
* testsuite/libgomp.c/priority.c: New test.
* testsuite/libgomp.c/target-31.c: New test.
* testsuite/libgomp.c/target-32.c: New test.
* testsuite/libgomp.c/target-33.c: New test.
* testsuite/libgomp.c/target-34.c: New test.
liboffloadmic/
2015-11-14  Ilya Verbin  <ilya.verbin@intel.com>

* runtime/offload_host.cpp (task_completion_callback): New
variable.
(offload_proxy_task_completed_ooo): Call task_completion_callback.
(__offload_register_task_callback): New function.
* runtime/offload_host.h (__offload_register_task_callback): New
declaration.
* plugin/libgomp-plugin-intelmic.cpp (offload): Add async_data
argument, handle async offloading.
(register_main_image): Call register_main_image.
(GOMP_OFFLOAD_init_device, get_target_table, GOMP_OFFLOAD_alloc,
GOMP_OFFLOAD_free, GOMP_OFFLOAD_host2dev, GOMP_OFFLOAD_dev2host,
GOMP_OFFLOAD_dev2dev) Adjust offload callers.
(GOMP_OFFLOAD_async_run): New function.
(GOMP_OFFLOAD_run): Implement using GOMP_OFFLOAD_async_run.

From-SVN: r230381

9 years agore PR fortran/67803 (ICE on concatenating wrong character array constructor)
Steven G. Kargl [Sat, 14 Nov 2015 17:31:16 +0000 (17:31 +0000)]
re PR fortran/67803 (ICE on concatenating wrong character array constructor)

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

    PR fortran/67803
    * array.c (gfc_match_array_constructor): If array constructor included
    a CHARACTER typespec, check array elements for compatible type.

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

    PR fortran/67803
    * gfortran.dg/pr67803.f90: New test.

From-SVN: r230379

9 years agoFix std::wstring capacity test for short wchar_t
Jonathan Wakely [Sat, 14 Nov 2015 17:24:42 +0000 (17:24 +0000)]
Fix std::wstring capacity test for short wchar_t

* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
real minimum capacity.
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
Likewise.

From-SVN: r230378

9 years ago* testsuite/experimental/random/randint.cc: Add dg-add-options tls.
David Edelsohn [Sat, 14 Nov 2015 14:22:53 +0000 (14:22 +0000)]
* testsuite/experimental/random/randint.cc: Add dg-add-options tls.

From-SVN: r230377

9 years ago* g++.dg/cpp/ucn-1.C: Fix typo.
David Edelsohn [Sat, 14 Nov 2015 13:36:15 +0000 (13:36 +0000)]
* g++.dg/cpp/ucn-1.C: Fix typo.

From-SVN: r230376

9 years agoc-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
Marek Polacek [Sat, 14 Nov 2015 12:31:45 +0000 (12:31 +0000)]
c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.

* c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
* c-typeck.c: Likewise.

From-SVN: r230375

9 years agore PR ada/68345 (gnat build broken on dragonfly due to omission of r229342)
Arnaud Charlet [Sat, 14 Nov 2015 09:09:01 +0000 (09:09 +0000)]
re PR ada/68345 (gnat build broken on dragonfly due to omission of r229342)

2015-11-13  Arnaud Charlet  <charlet@adacore.com>

PR ada/68345
* s-osinte-dragonfly.ads (Get_Page_Size): C function returns an int.

From-SVN: r230373

9 years agoChangeLog: Fix whitespace.
Uros Bizjak [Sat, 14 Nov 2015 07:58:17 +0000 (08:58 +0100)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r230372

9 years agovbase1.C: XFAIL powerpc*-*-*.
David Edelsohn [Sat, 14 Nov 2015 00:35:30 +0000 (00:35 +0000)]
vbase1.C: XFAIL powerpc*-*-*.

* g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
* g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX.

From-SVN: r230371

9 years agoDaily bump.
GCC Administrator [Sat, 14 Nov 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r230370

9 years agosh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC.
Rich Felker [Sat, 14 Nov 2015 00:08:41 +0000 (00:08 +0000)]
sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC.

2015-11-13  Rich Felker <dalias@libc.org>
* config/sh/sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC.

From-SVN: r230366

9 years agoMerge C++ delayed folding branch.
Jason Merrill [Sat, 14 Nov 2015 00:08:05 +0000 (19:08 -0500)]
Merge C++ delayed folding branch.

* call.c (build_conditional_expr_1, convert_like_real)
(convert_arg_to_ellipsis, convert_for_arg_passing): Don't fold.
(build_new_op_1, build_over_call, build_cxx_call): Fold for warnings.
* class.c (build_base_path, determine_primary_bases)
(update_vtable_entry_for_fn, check_bitfield_decl)
(layout_nonempty_base_or_field, layout_empty_base)
(propagate_binfo_offsets, include_empty_classes)
(layout_class_type, build_vbase_offset_vtbl_entries): Use
fold_convert.
* constexpr.c (cxx_eval_builtin_function_call): Fold away the NOP_EXPR.
(cxx_eval_call_expression): Handle MEM_REF.
(cxx_eval_pointer_plus_expression): Fold the second operand.
(cxx_eval_constant_expression): Handle MEM_REF, UNARY_PLUS_EXPR.
(fold_simple_1, fold_simple): New.
(maybe_constant_value_1): Factor out from maybe_constant_value.
(cv_cache, maybe_constant_value): Cache results.
(maybe_constant_init): Handle null input.
(potential_constant_expression_1): Handle RESULT_DECL, EMPTY_CLASS_EXPR.
* cp-array-notation.c (build_array_notation_ref): Fold operands.
* cp-gimplify.c (cp_fold_r, cp_fold): New.
(cp_genericize_r): Use fold_convert.  Don't fold SIZEOF_EXPR.
(cp_genericize): Fold everything.
(contains_label_1, contains_label_p): New.
(cp_fold, cp_fully_fold): New.
* cp-tree.h (class cache_map): New.
* cvt.c (cp_convert_to_pointer, ocp_convert): Use convert_to_*_nofold.
(cp_convert_and_check): Use cp_fully_fold.
(convert, convert_force): Don't fold.
* decl.c (fold_sizeof_expr): Change from fold_sizeof_expr_r.
(compute_array_index_type): Use cp_fully_fold.
(build_enumerator): Use fold_convert.
* decl2.c (get_guard_cond, set_guard): Use fold_convert.
* init.c (build_zero_init_1): Fold zero-initializers.
(build_new_1): Fold nelts calculations.
(build_vec_delete_1): Fold conversions.
(build_vec_init): Fold maxindex.
* parser.c (cp_parser_binary_expression): Fold LHS of || and &&.
(cp_parser_question_colon_clause): Fold LHS.
* pt.c (convert_nontype_argument): Fold nullptr conversion.
* semantics.c (finish_unary_op_expr): Fold for warnings.
(handle_omp_array_sections_1): Fold length and low bound.
(handle_omp_for_class_iterator): Fold various things.
* tree.c (builtin_valid_in_constant_expr_p): Add
BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE.
(convert_bitfield_to_declared_type): Don't fold.
(handle_init_priority_attribute): Fold.
(fold_if_not_in_template): Remove.
* typeck.c (decay_conversion, build_class_member_access_expr)
(build_simple_component_ref, cp_build_array_ref, build_vec_cmp)
(cp_pointer_int_sum, pointer_diff): Don't fold.
(cp_build_binary_op): Fold for warnings and PMF ops.
(cp_build_unary_op): Fold negation of a constant, nothing else.
(expand_ptrmemfunc_cst): Fold operations.
* typeck2.c (split_nonconstant_init): Fold initializer.
(store_init_value): Likewise.
(check_narrowing): Try folding.
* config-lang.in (gtfiles): Add cp-gimplify.c.

From-SVN: r230365

9 years ago[Patch,tree-optimization]: Add new path Splitting pass on tree ssa
Ajit Agarwal [Fri, 13 Nov 2015 23:31:51 +0000 (23:31 +0000)]
[Patch,tree-optimization]: Add new path Splitting pass on tree ssa
representation

* Makefile.in (OBJS): Add gimple-ssa-split-paths.o
* common.opt (-fsplit-paths): New flag controlling path splitting.
* doc/invoke.texi (fsplit-paths): Document.
* opts.c (default_options_table): Add -fsplit-paths to -O2.
* passes.def: Add split_paths pass.
* timevar.def (TV_SPLIT_PATHS): New timevar.
* tracer.c: Include "tracer.h"
(ignore_bb_p): No longer static.
(transform_duplicate): New function, broken out of tail_duplicate.
(tail_duplicate): Use transform_duplicate.
* tracer.h (ignore_bb_p): Declare
(transform_duplicate): Likewise.
* tree-pass.h (make_pass_split_paths): Declare.
* gimple-ssa-split-paths.c: New file.

* gcc.dg/tree-ssa/split-path-1.c: New test.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r230364

9 years agoAdd non-folding variants for convert_to_*.
Kai Tietz [Fri, 13 Nov 2015 22:24:45 +0000 (22:24 +0000)]
Add non-folding variants for convert_to_*.

2015-11-13  Kai Tietz  <ktietz70@googlemail.com>
    Marek Polacek  <polacek@redhat.com>
    Jason Merrill  <jason@redhat.com>

gcc/
* convert.c (maybe_fold_build1_loc): New.
(maybe_fold_build2_loc): New.
(convert_to_pointer_1): Split out from convert_to_pointer.
(convert_to_pointer_nofold): New.
(convert_to_real_1): Split out from convert_to_real.
(convert_to_real_nofold): New.
(convert_to_integer_1): Split out from convert_to_integer.
(convert_to_integer_nofold): New.
(convert_to_complex_1): Split out from convert_to_complex.
(convert_to_complex_nofold): New.
* convert.h: Declare new functions.
* tree-complex.c (create_one_component_var): Break up line to
avoid sequence point issues.
gcc/c-family/
* c-lex.c (interpret_float): Use fold_convert.

Co-Authored-By: Jason Merrill <jason@redhat.com>
Co-Authored-By: Marek Polacek <polacek@redhat.com>
From-SVN: r230359

9 years agofold-const.c (fold_convert_const): Fold changing cv-quals on VECTOR_CST.
Jason Merrill [Fri, 13 Nov 2015 22:24:39 +0000 (17:24 -0500)]
fold-const.c (fold_convert_const): Fold changing cv-quals on VECTOR_CST.

* fold-const.c (fold_convert_const): Fold changing cv-quals on
VECTOR_CST.

From-SVN: r230358

9 years ago* hash-map.h (hash_map::empty): New.
Jason Merrill [Fri, 13 Nov 2015 22:24:30 +0000 (17:24 -0500)]
* hash-map.h (hash_map::empty): New.

From-SVN: r230357

9 years agoomp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ.
Nathan Sidwell [Fri, 13 Nov 2015 21:51:32 +0000 (21:51 +0000)]
omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ.

gcc/
* gcc/omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO &
SEQ.
(oacc_loop_fixed_partitions): Correct return type to bool.
(oacc_loop_auto_partitions): New.
(oacc_loop_partition): Take mask argument, call
oacc_loop_auto_partitions.
(execute_oacc_device_lower): Provide mask to oacc_loop_partition.

gcc/testsuite/
* c-c++-common/goacc/loop-auto-1.c: New.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.

From-SVN: r230354

9 years agotarget-supports.exp (check_effective_target_offload_nvptx): New.
Nathan Sidwell [Fri, 13 Nov 2015 21:48:23 +0000 (21:48 +0000)]
target-supports.exp (check_effective_target_offload_nvptx): New.

* lib/target-supports.exp (check_effective_target_offload_nvptx): New.
* gcc.dg/goacc/nvptx-merged-loop.c: New.

From-SVN: r230353

9 years agore PR fortran/68319 (ICE on using interface with included entry)
Steven G. Kargl [Fri, 13 Nov 2015 21:11:42 +0000 (21:11 +0000)]
re PR fortran/68319 (ICE on using interface with included entry)

2015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>

PR fortran/68319
* decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
* io.c (gfc_match_format): Ditto.
* match.c (gfc_match_st_function): Ditto.

2015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>

PR fortran/68319
* gfortran.dg/pr68319.f90: New test.

From-SVN: r230351

9 years agofix ChangeLog entry
Michael Meissner [Fri, 13 Nov 2015 20:15:13 +0000 (20:15 +0000)]
fix ChangeLog entry

From-SVN: r230345

9 years agoconstraints.md (we constraint): New constraint for 64-bit power9 vector support.
Michael Meissner [Fri, 13 Nov 2015 20:02:56 +0000 (20:02 +0000)]
constraints.md (we constraint): New constraint for 64-bit power9 vector support.

[gcc]
2015-11-13  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/constraints.md (we constraint): New constraint for
64-bit power9 vector support.
(wL constraint): New constraint for the element in a vector that
can be addressed by the MFVSRLD instruction.

* config/rs6000/rs6000-protos.h (convert_float128_to_int): Add
declaration.
(convert_int_to_float128): Likewise.
(rs6000_generate_compare): Add support for ISA 3.0 (power9)
hardware support for IEEE 128-bit floating point.
(rs6000_expand_float128_convert): Likewise.
(convert_float128_to_int): Likewise.
(convert_int_to_float128): Likewise.

* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for
ISA 3.0 hardware IEEE 128-bit floating point.
(UNSPEC_IEEE128_MOVE): Likewise.
(UNSPEC_IEEE128_CONVERT): Likewise.
(FMA_F): Add support for IEEE 128-bit floating point hardware
support.
(Ff): Add support for DImode.
(Fv): Likewise.
(any_fix code iterator): New and updated iterators for IEEE
128-bit floating point hardware support.
(any_float code iterator): Likewise.
(s code attribute): Likewise.
(su code attribute): Likewise.
(az code attribute): Likewise.
(uns code attribute): Likewise.
(neg<mode>2, FLOAT128 iterator): Add support for IEEE 128-bit
floating point hardware support.
(abs<mode>2, FLOAT128 iterator): Likewise.
(add<mode>3, IEEE128 iterator): New insns for IEEE 128-bit
floating point hardware.
(sub<mode>3, IEEE128 iterator): Likewise.
(mul<mode>3, IEEE128 iterator): Likewise.
(div<mode>3, IEEE128 iterator): Likewise.
(copysign<mode>3, IEEE128 iterator): Likewise.
(sqrt<mode>2, IEEE128 iterator): Likewise.
(neg<mode>2, IEEE128 iterator): Likewise.
(abs<mode>2, IEEE128 iterator): Likewise.
(nabs<mode>2, IEEE128 iterator): Likewise.
(fma<mode>4_hw, IEEE128 iterator): Likewise.
(fms<mode>4_hw, IEEE128 iterator): Likewise.
(nfma<mode>4_hw, IEEE128 iterator): Likewise.
(nfms<mode>4_hw, IEEE128 iterator): Likewise.
(extend<SFDF:mode><IEEE128:mode>2_hw): Likewise.
(trunc<mode>df2_hw, IEEE128 iterator): Likewise.
(trunc<mode>sf2_hw, IEEE128 iterator): Likewise.
(fix_fixuns code attribute): Likewise.
(float_floatuns code attribute): Likewise.
(fix<uns>_<mode>si2_hw): Likewise.
(fix<uns>_<mode>di2_hw): Likewise.
(float<uns>_<mode>si2_hw): Likewise.
(float<uns>_<mode>di2_hw): Likewise.
(xscvqp<su>wz_<mode>): Likewise.
(xscvqp<su>dz_<mode>): Likewise.
(xscv<su>dqp_<mode): Likewise.
(ieee128_mfvsrd): Likewise.
(ieee128_mfvsrwz): Likewise.
(ieee128_mtvsrw): Likewise.
(ieee128_mtvsrd): Likewise.
(trunc<mode>df2_odd): Likewise.
(cmp<mode>_h): Likewise.
(128-bit GPR splitters): Don't split a 128-bit move that is a
direct move between GPR and vector registers using ISA 3.0 direct
move instructions.
(<u>mul<mode><dmode>3): Add support for the ISA 3.0 integer
multiply-add instruction.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0
debugging.
(rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we
constraint.  Disable the VSX<->GPR direct move helpers if we have
the MFVSRLD and MTVSRDD instructions.
(rs6000_secondary_reload_simple_move): Add support for doing
vector direct moves directly without additional scratch registers
if we have ISA 3.0 instructions.
(rs6000_secondary_reload_direct_move): Update comments.
(rs6000_output_move_128bit): Add support for ISA 3.0 vector
instructions.

* config/rs6000/vsx.md (vsx_mov<mode>): Add support for ISA 3.0
direct move instructions.
(vsx_movti_64bit): Likewise.
(vsx_extract_<mode>): Likewise.

* config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New
macros for ISA 3.0 direct move instructions.
(TARGET_DIRECT_MOVE_128): Likewise.
(TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add
instruction.

* doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL
constraints.  Update wa documentation to say not to use %x<n> on
instructions that only take Altivec registers.

[gcc/testsuite]
2015-11-13  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/float128-hw.c: New test for IEEE 128-bit
hardware floating point support.

* gcc.target/powerpc/direct-move-vector.c: New test for 128-bit
vector direct move instructions.

* gcc.target/powerpc/maddld.c: New test.

From-SVN: r230342

9 years agopr68306.c (dg-additional-options): Add i?86-*-* target.
Uros Bizjak [Fri, 13 Nov 2015 18:39:46 +0000 (19:39 +0100)]
pr68306.c (dg-additional-options): Add i?86-*-* target.

* gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target.
* gcc.dg/pr68306-2.c (dg-additional-options): Ditto.
* gcc.dg/pr68306-3.c (dg-additional-options): Ditto.

From-SVN: r230339

9 years agocollapse-2.c: Sequential loop is sequential.
Nathan Sidwell [Fri, 13 Nov 2015 16:53:28 +0000 (16:53 +0000)]
collapse-2.c: Sequential loop is sequential.

* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
loop is sequential.

From-SVN: r230333

9 years agoDefine std::experimental::randint etc.
Jonathan Wakely [Fri, 13 Nov 2015 16:49:40 +0000 (16:49 +0000)]
Define std::experimental::randint etc.

* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/random: New.
* testsuite/experimental/random/randint.cc: New.

From-SVN: r230332

9 years agoSource range tracking in libcpp and C FE, with bit-packing optimization
David Malcolm [Fri, 13 Nov 2015 16:29:59 +0000 (16:29 +0000)]
Source range tracking in libcpp and C FE, with bit-packing optimization

This patch combines:
  [PATCH 05/10] Add ranges to libcpp tokens (via ad-hoc data, unoptimized)
  [PATCH 06/10] Track expression ranges in C frontend
  [PATCH 07/10] Add plugin to recursively dump the source-ranges in a tree (v2)
  [PATCH 08/10] Wire things up so that libcpp users get token underlines
  [PATCH 09/10] Delay some resolution of ad-hoc locations, preserving ranges
  [PATCH 10/10] Compress short ranges into source_location
  [PATCH] libcpp: add examples to source_location description
along with fixes for the nits identified during review.

gcc/ChangeLog:
* Makefile.in (OBJS): Add gcc-rich-location.o.
* diagnostic.c (diagnostic_append_note): Pass line_table to
rich_location ctor.
(emit_diagnostic): Likewise.
(inform): Likewise.
(inform_n): Likewise.
(warning): Likewise.
(warning_at): Likewise.
(warning_n): Likewise.
(pedwarn): Likewise.
(permerror): Likewise.
(error): Likewise.
(error_n): Likewise.
(error_at): Likewise.
(sorry): Likewise.
(fatal_error): Likewise.
(internal_error): Likewise.
(internal_error_no_backtrace): Likewise.
(source_range::debug): Likewise.
* gcc-rich-location.c: New file.
* gcc-rich-location.h: New file.
* genmatch.c (fatal_at): Pass line_table to rich_location ctor.
(warning_at): Likewise.
* gimple.h (gimple_set_block): Use set_block function.
* input.c (dump_line_table_statistics): Dump stats on how many
ranges were optimized vs how many needed ad-hoc table.
(write_digit_row): Add "map" param; use its range_bits
to calculate the per-character offset.
(dump_location_info): Print the range and column bits for each
ordinary map.  Use the range bits to calculate the per-character
offset.  Pass the map as a new param to the various calls to
write_digit_row.  Eliminate uses of
ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
* print-tree.c (print_node): Print any source range information.
* rtl-error.c (diagnostic_for_asm): Likewise.
* toplev.c (general_init): Initialize line_table's
default_range_bits.
* tree-cfg.c (move_block_to_fn): Likewise.
(move_block_to_fn): Likewise.
* tree-inline.c (copy_phis_for_bb): Likewise.
* tree.c (tree_set_block): Likewise.
(get_pure_location): New function.
(set_source_range): New functions.
(set_block): New function.
(set_source_range): New functions.
* tree.h (CAN_HAVE_RANGE_P): New.
(EXPR_LOCATION_RANGE): New.
(EXPR_HAS_RANGE): New.
(get_expr_source_range): New inline function.
(DECL_LOCATION_RANGE): New.
(set_source_range): New decls.
(get_decl_source_range): New inline function.

gcc/ada/ChangeLog:
* gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
calling linemap_position_for_line_and_column.

gcc/c-family/ChangeLog:
* c-common.c (c_fully_fold_internal): Capture existing souce_range,
and store it on the result.
* c-opts.c (c_common_init_options): Set
global_dc->colorize_source_p.

gcc/c/ChangeLog:
* c-decl.c (warn_defaults_to): Pass line_table to
rich_location ctor.
* c-errors.c (pedwarn_c99): Likewise.
(pedwarn_c90): Likewise.
* c-parser.c (set_c_expr_source_range): New functions.
(c_token::get_range): New method.
(c_token::get_finish): New method.
(c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
based on the range from the start of the LHS to the end of the
RHS.
(c_parser_conditional_expression): Likewise, based on the range
from the start of the cond.value to the end of exp2.value.
(c_parser_binary_expression): Call set_c_expr_source_range on
the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
(c_parser_cast_expression): Call set_c_expr_source_range on ret
based on the cast_loc through to the end of the expr.
(c_parser_unary_expression): Likewise, based on the
op_loc through to the end of op.
(c_parser_sizeof_expression) Likewise, based on the start of the
sizeof token through to either the closing paren or the end of
expr.
(c_parser_postfix_expression): Likewise, using the token range,
or from the open paren through to the close paren for
parenthesized expressions.
(c_parser_postfix_expression_after_primary): Likewise, for
various kinds of expression.
* c-tree.h (struct c_expr): Add field "src_range".
(c_expr::get_start): New method.
(c_expr::get_finish): New method.
(set_c_expr_source_range): New decls.
* c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
on ret for prefix unary ops.
(parser_build_binary_op): Likewise, running from the start of
arg1.value through to the end of arg2.value.

gcc/cp/ChangeLog:
* error.c (pedwarn_cxx98): Pass line_table to rich_location ctor.

gcc/fortran/ChangeLog:
* error.c (gfc_warning): Pass line_table to rich_location ctor.
(gfc_warning_now_at): Likewise.
(gfc_warning_now): Likewise.
(gfc_error_now): Likewise.
(gfc_fatal_error): Likewise.
(gfc_error): Likewise.
(gfc_internal_error): Likewise.

gcc/testsuite/ChangeLog:
* gcc.dg/diagnostic-token-ranges.c: New file.
* gcc.dg/diagnostic-tree-expr-ranges-2.c: New file.
* gcc.dg/plugin/diagnostic-test-expressions-1.c: New file.
* gcc.dg/plugin/diagnostic-test-show-trees-1.c: New file.
* gcc.dg/plugin/diagnostic_plugin_show_trees.c: New file.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (get_loc): Add
line_table param when calling
linemap_position_for_line_and_column.
(test_show_locus): Pass line_table to rich_location ctors.
(plugin_init): Remove setting of global_dc->colorize_source_p.
* gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c:
New file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic_plugin_test_tree_expression_range.c,
diagnostic-test-expressions-1.c, diagnostic_plugin_show_trees.c,
and diagnostic-test-show-trees-1.c.

libcpp/ChangeLog:
* errors.c (cpp_diagnostic): Pass pfile->line_table to
rich_location ctor.
(cpp_diagnostic_with_line): Likewise.
* include/cpplib.h (struct cpp_token): Update comment for src_loc
to indicate that the range of the token is "baked into" the
source_location.
* include/line-map.h (source_location): Update the descriptive
comment to reflect the packing scheme for short ranges, adding
worked examples of location encoding.
(struct line_map_ordinary): Drop field "column_bits" in favor
of field "m_column_and_range_bits"; add field "m_range_bits".
(ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete.
(location_adhoc_data): Add source_range field.
(struct line_maps): Add fields "default_range_bits",
"num_optimized_ranges" and "num_unoptimized_ranges".
(get_combined_adhoc_loc): Add source_range param.
(get_range_from_loc): New declaration.
(pure_location_p): New prototype.
(COMBINE_LOCATION_DATA):  Add source_range param.
(SOURCE_LINE): Update for renaming of column_bits.
(SOURCE_COLUMN): Likewise.  Shift the column right by the map's
range_bits.
(LAST_SOURCE_LINE_LOCATION): Update for renaming of column_bits.
(linemap_position_for_line_and_column): Add line_maps * params.
(rich_location::rich_location): Likewise.
* lex.c (_cpp_lex_direct): Capture the range of the token, baking
it into token->src_loc via a call to COMBINE_LOCATION_DATA.
* line-map.c (LINE_MAP_MAX_COLUMN_NUMBER): Reduce from 1U << 17 to
1U << 12.
(location_adhoc_data_hash): Add the src_range into
the hash value.
(location_adhoc_data_eq): Require equality of the src_range
values.
(can_be_stored_compactly_p): New function.
(get_combined_adhoc_loc): Add src_range param, and store it,
via a bit-packing scheme for short ranges, otherwise within the
lookaside table.  Remove the requirement that data is non-NULL.
(get_range_from_adhoc_loc): New function.
(get_range_from_loc): New function.
(pure_location_p): New function.
(linemap_add): Ensure that start_location has zero for the
range_bits, unless we're past LINE_MAP_MAX_LOCATION_WITH_COLS.
Initialize range_bits to zero.  Assert that the start_location
is "pure".
(linemap_line_start): Assert that the
column_and_range_bits >= range_bits.
Update determinination of whether we need to start a new map
using the effective column bits, without the range bits.
Use the set's default_range_bits in new maps, apart from
those with column_bits == 0, which should also have 0 range_bits.
Increase the column bits for new maps by the range bits.
When adding lines to an existing map, use set->highest_line
directly rather than offsetting highest by SOURCE_COLUMN.
Add assertions to sanity-check the return value.
(linemap_position_for_column): Offset to_column by range_bits.
Update set->highest_location if necessary.
(linemap_position_for_line_and_column): Add line_maps * param.
Update the calculation to offset the column by range_bits, and
conditionalize it on being <= LINE_MAP_MAX_LOCATION_WITH_COLS.
Bound it by LINEMAPS_MACRO_LOWEST_LOCATION.  Update
set->highest_location if necessary.
(linemap_position_for_loc_and_offset): Handle ad-hoc locations;
pass "set" to linemap_position_for_line_and_column.
(linemap_macro_map_loc_unwind_toward_spelling): Add line_maps
param.  Handle ad-hoc locations.
(linemap_location_in_system_header_p): Pass on "set" to call to
linemap_macro_map_loc_unwind_toward_spelling.
(linemap_macro_loc_to_spelling_point): Retain ad-hoc locations.
Pass on "set" to call to
linemap_macro_map_loc_unwind_toward_spelling.
(linemap_resolve_location): Retain ad-hoc locations.  Pass on
"set" to call to linemap_macro_map_loc_unwind_toward_spelling.
(linemap_unwind_toward_expansion):  Pass on "set" to call to
linemap_macro_map_loc_unwind_toward_spelling.
(linemap_expand_location): Extract the data pointer before
extracting the location.
(rich_location::rich_location): Add line_maps param; use it to
extract the range from the source_location.
* location-example.txt: Regenerate, showing new representation.

From-SVN: r230331

9 years agoPR/67682, break SLP groups up if only some elements match
Alan Lawrence [Fri, 13 Nov 2015 16:12:52 +0000 (16:12 +0000)]
PR/67682, break SLP groups up if only some elements match

gcc/:

* tree-vect-slp.c (vect_split_slp_store_group): New.
(vect_analyze_slp_instance): During basic block SLP, recurse on
subgroups if vect_build_slp_tree fails after 1st vector.

gcc/testsuite/:

* gcc.dg/vect/bb-slp-7.c (main1): Make subgroups non-isomorphic.
* gcc.dg/vect/bb-slp-subgroups-1.c: New.
* gcc.dg/vect/bb-slp-subgroups-2.c: New.
* gcc.dg/vect/bb-slp-subgroups-3.c: New.

From-SVN: r230330

9 years agoImprove portability of named locale tests
John Marino [Fri, 13 Nov 2015 15:25:48 +0000 (15:25 +0000)]
Improve portability of named locale tests

2015-11-13  John Marino  <gnugcc@marino.st>

* testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
Use portable locale name
* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
* testsuite/22_locale/collate/compare/char/1.cc: Likewise.
* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
* testsuite/22_locale/collate/compare/char/3.cc: Likewise.
* testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/collate/hash/char/2.cc: Likewise.
* testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/collate/transform/char/2.cc: Likewise.
* testsuite/22_locale/collate/transform/char/3.cc: Likewise.
* testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
* testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
* testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/facet/2.cc: Likewise.
* testsuite/22_locale/locale/cons/12352.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/22_locale/locale/cons/2.cc: Likewise.
* testsuite/22_locale/locale/cons/38365.cc: Likewise.
* testsuite/22_locale/locale/cons/38368.cc: Likewise.
* testsuite/22_locale/locale/cons/4.cc: Likewise.
* testsuite/22_locale/locale/cons/40184.cc: Likewise.
* testsuite/22_locale/locale/cons/7.cc: Likewise.
* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
* testsuite/22_locale/messages/13631.cc: Likewise.
* testsuite/22_locale/messages/members/char/1.cc: Likewise.
* testsuite/22_locale/messages/members/char/2.cc: Likewise.
* testsuite/22_locale/messages/members/char/3.cc: Likewise.
* testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/messages/members/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/money_get/get/char/1.cc: Likewise.
* testsuite/22_locale/money_get/get/char/10.cc: Likewise.
* testsuite/22_locale/money_get/get/char/11.cc: Likewise.
* testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
* testsuite/22_locale/money_get/get/char/12.cc: Likewise.
* testsuite/22_locale/money_get/get/char/13.cc: Likewise.
* testsuite/22_locale/money_get/get/char/15.cc: Likewise.
* testsuite/22_locale/money_get/get/char/16.cc: Likewise.
* testsuite/22_locale/money_get/get/char/17.cc: Likewise.
* testsuite/22_locale/money_get/get/char/18.cc: Likewise.
* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
* testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
* testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
* testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/moneypunct/40712.cc: Likewise.
* testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
* testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
Likewise.
* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
* testsuite/22_locale/num_get/get/char/3.cc: Likewise.
* testsuite/22_locale/num_get/get/char/5.cc: Likewise.
* testsuite/22_locale/num_get/get/char/6.cc: Likewise.
* testsuite/22_locale/num_get/get/char/9.cc: Likewise.
* testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
* testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
* testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
* testsuite/22_locale/num_put/put/char/3.cc: Likewise.
* testsuite/22_locale/num_put/put/char/5.cc: Likewise.
* testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
* testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
* testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
* testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
Likewise.
* testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
Likewise.
* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
for named locale as appropriate for target.
* testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
target's preferred form of locale name.

From-SVN: r230329

9 years agore PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
Christian Bruel [Fri, 13 Nov 2015 15:19:19 +0000 (16:19 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)

2015-11-13  Christian Bruel  <christian.bruel@st.com>

PR target/65837
* config/arm/arm.c (arm_option_override): Move NEON check...
(arm_option_check_internal): here
(arm_file_start): Move .fpu print...
(arm_declare_function_name): here
(arm_option_print): Dump current fpu name.
* config/arm/arm.opt (arm_fpu_index): Mark Save.

From-SVN: r230327

9 years ago[combine] Don't transform sign and zero extends inside mults
Kyrylo Tkachov [Fri, 13 Nov 2015 15:12:26 +0000 (15:12 +0000)]
[combine] Don't transform sign and zero extends inside mults

2015-11-13  Segher Boessenkool  <segher@kernel.crashing.org>
            Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

        * combine.c (subst): Don't substitute or simplify when
        handling register-wise widening multiply.
        (force_to_mode): Likewise.

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

From-SVN: r230326