platform/upstream/linaro-gcc.git
8 years ago * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
ebotcazou [Mon, 16 Nov 2015 12:19:22 +0000 (12:19 +0000)]
* config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.

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

8 years ago * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
ebotcazou [Mon, 16 Nov 2015 12:17:51 +0000 (12:17 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.

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

8 years ago * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use
ebotcazou [Mon, 16 Nov 2015 12:16:54 +0000 (12:16 +0000)]
* 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.

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

8 years ago2015-11-16 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 16 Nov 2015 11:25:02 +0000 (11:25 +0000)]
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

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

8 years ago2015-11-16 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 16 Nov 2015 11:20:02 +0000 (11:20 +0000)]
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.

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

8 years ago[AArch64] Cortex-A57 Choose some new branch costs.
jgreenhalgh [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.

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

8 years ago2015-11-16 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 16 Nov 2015 10:21:09 +0000 (10:21 +0000)]
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

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

8 years agocoding nit
chrbr [Mon, 16 Nov 2015 09:38:29 +0000 (09:38 +0000)]
coding nit

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

8 years ago2015-11-16 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 16 Nov 2015 09:00:09 +0000 (09:00 +0000)]
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.

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

8 years ago2015-11-16 Richard Biener <rguenther@suse.de>
rguenth [Mon, 16 Nov 2015 08:57:42 +0000 (08:57 +0000)]
2015-11-16  Richard Biener  <rguenther@suse.de>

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

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

8 years ago2015-11-16 Christian Bruel <christian.bruel@st.com>
chrbr [Mon, 16 Nov 2015 08:46:42 +0000 (08:46 +0000)]
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.

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

8 years agoPR 68366 - include emit-rtl.h in sdbout.c
tbsaunde [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.

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

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

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

8 years ago * config/rs6000/on_exit.c: New file.
dje [Sun, 15 Nov 2015 23:41:44 +0000 (23:41 +0000)]
    * 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.

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

8 years ago * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
gerald [Sun, 15 Nov 2015 20:03:24 +0000 (20:03 +0000)]
* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
Remove support for FreeBSD 5 and earlier.

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

8 years ago2015-11-15 Paul Thomas <pault@gcc.gnu.org>
pault [Sun, 15 Nov 2015 14:07:52 +0000 (14:07 +0000)]
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.

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

8 years agoPR libstdc++/68353 fix _GLIBCXX_USE_C99_WCHAR test
redi [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.

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

8 years agoalways define ENABLE_OFFLOADING
tbsaunde [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.

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

8 years agoalways define EH_RETURN_HANDLER_RTX
tbsaunde [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.

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

8 years agoalways define TARGET_PECOFF
tbsaunde [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.

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

8 years agoremove conditional compilation of sdb debug info
tbsaunde [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.

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

8 years agoremove EXTENDED_SDB_BASIC_TYPES
tbsaunde [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.

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

8 years agoDaily bump.
gccadmin [Sun, 15 Nov 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
jakub [Sat, 14 Nov 2015 22:02:42 +0000 (22:02 +0000)]
* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
sections.

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

8 years ago2015-11-14 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Sat, 14 Nov 2015 21:17:24 +0000 (21:17 +0000)]
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.

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

8 years ago PR bootstrap/68346
jason [Sat, 14 Nov 2015 18:54:16 +0000 (18:54 +0000)]
PR bootstrap/68346
* call.c (build_new_op_1): Don't fold arguments to
warn_tautological_cmp.

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

8 years agogcc/
jakub [Sat, 14 Nov 2015 18:42:13 +0000 (18:42 +0000)]
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.

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

8 years ago2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 14 Nov 2015 17:31:16 +0000 (17:31 +0000)]
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.

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

8 years agoFix std::wstring capacity test for short wchar_t
redi [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.

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

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

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

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

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

8 years ago * c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
mpolacek [Sat, 14 Nov 2015 12:31:45 +0000 (12:31 +0000)]
* c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
* c-typeck.c: Likewise.

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

8 years ago2015-11-13 Arnaud Charlet <charlet@adacore.com>
charlet [Sat, 14 Nov 2015 09:09:01 +0000 (09:09 +0000)]
2015-11-13  Arnaud Charlet  <charlet@adacore.com>

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

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

8 years ago * ChangeLog: Fix whitespace.
uros [Sat, 14 Nov 2015 07:58:17 +0000 (07:58 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

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

8 years ago* g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
dje [Sat, 14 Nov 2015 00:35:30 +0000 (00:35 +0000)]
* g++.dg/init/vbase1.C: XFAIL powerpc*-*-*.
* g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX.

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

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

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

8 years ago2015-11-13 Rich Felker <dalias@libc.org>
kkojima [Sat, 14 Nov 2015 00:08:41 +0000 (00:08 +0000)]
2015-11-13  Rich Felker <dalias@libc.org>
* config/sh/sh.md (symGOT_load): Don't set stack_chk_guard_p for TARGET_FDPIC.

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

8 years ago Merge C++ delayed folding branch.
jason [Sat, 14 Nov 2015 00:08:05 +0000 (00:08 +0000)]
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.

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

8 years ago[Patch,tree-optimization]: Add new path Splitting pass on tree ssa
law [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.

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

8 years agoAdd non-folding variants for convert_to_*.
jason [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.

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

8 years ago * fold-const.c (fold_convert_const): Fold changing cv-quals on
jason [Fri, 13 Nov 2015 22:24:39 +0000 (22:24 +0000)]
* fold-const.c (fold_convert_const): Fold changing cv-quals on
VECTOR_CST.

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

8 years ago * hash-map.h (hash_map::empty): New.
jason [Fri, 13 Nov 2015 22:24:30 +0000 (22:24 +0000)]
* hash-map.h (hash_map::empty): New.

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

8 years ago gcc/
nathan [Fri, 13 Nov 2015 21:51:32 +0000 (21:51 +0000)]
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.

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

8 years ago * lib/target-supports.exp (check_effective_target_offload_nvptx): New.
nathan [Fri, 13 Nov 2015 21:48:23 +0000 (21:48 +0000)]
* lib/target-supports.exp (check_effective_target_offload_nvptx): New.
* gcc.dg/goacc/nvptx-merged-loop.c: New.

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

8 years ago2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
kargl [Fri, 13 Nov 2015 21:11:42 +0000 (21:11 +0000)]
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.

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

8 years agofix ChangeLog entry
meissner [Fri, 13 Nov 2015 20:15:13 +0000 (20:15 +0000)]
fix ChangeLog entry

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

8 years ago[gcc]
meissner [Fri, 13 Nov 2015 20:02:56 +0000 (20:02 +0000)]
[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.

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

8 years ago * gcc.dg/pr68306.c (dg-additional-options): Add i?86-*-* target.
uros [Fri, 13 Nov 2015 18:39:46 +0000 (18:39 +0000)]
* 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.

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

8 years ago * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
nathan [Fri, 13 Nov 2015 16:53:28 +0000 (16:53 +0000)]
* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
loop is sequential.

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

8 years agoDefine std::experimental::randint etc.
redi [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.

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

8 years agoSource range tracking in libcpp and C FE, with bit-packing optimization
dmalcolm [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.

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

8 years agoPR/67682, break SLP groups up if only some elements match
alalaw01 [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.

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

8 years agoImprove portability of named locale tests
redi [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.

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

8 years ago2015-11-13 Christian Bruel <christian.bruel@st.com>
chrbr [Fri, 13 Nov 2015 15:19:19 +0000 (15:19 +0000)]
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.

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

8 years ago[combine] Don't transform sign and zero extends inside mults
ktkachov [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.

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

8 years ago gcc/
nathan [Fri, 13 Nov 2015 15:08:11 +0000 (15:08 +0000)]
gcc/
* config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with
complex types.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.

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

8 years agoMore fine-grained autoconf checks for C99 library
redi [Fri, 13 Nov 2015 14:51:25 +0000 (14:51 +0000)]
More fine-grained autoconf checks for C99 library

2015-11-13  Jennifer Yao  <jenny.hyphen.fa@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/58393
PR libstdc++/61580
* acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
-std=c++11 as well as -std=c++98, and define separate macros for each.
Cache the results of checking for complex math and wide character
functions. Reformat for readability.
* config.h.in: Regenerate.
* include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
language standard in use.
* config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
* config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
_GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
* configure: Regenerate.
* include/bits/basic_string.h: Make numeric conversion functions
depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
* include/ext/vstring.h: Likewise.
* include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
Likewise.
* include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_MATH.
* include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
* include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
* include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
* include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
(test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stof.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoi.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stol.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stold.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoll.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoul.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
to_wstring.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
Change preprocessor #if conditional so that it uses
_GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
* testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.

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

8 years agoPR68264: Use unordered comparisons for tree-call-cdce.c
rsandifo [Fri, 13 Nov 2015 14:43:38 +0000 (14:43 +0000)]
PR68264: Use unordered comparisons for tree-call-cdce.c

As reported in PR 68264, tree-call-cdce.c should be using unordered
comparisons for the range checks, in order to avoid raising FE_INVALID
for quiet NaNs.

Tested on x86_64-linux-gnu and aarch64-linux-gnu.  The test failed on
aarch64-linux-gnu before the patch, but it didn't on x86_64-linux-gnu
because it used unordered comparisons for the previous ordered tree codes.

gcc/
PR tree-optimization/68264
* tree-call-cdce.c (gen_one_condition): Update commentary.
(gen_conditions_for_pow_int_base): Invert the sense of the tests
passed to gen_one_condition.
(gen_conditions_for_domain): Likewise.  Use unordered comparisons.
(shrink_wrap_one_built_in_call): Invert the sense of the tests,
using EDGE_FALSE_VALUE for edges to the call block and
EDGE_TRUE_VALUE for the others.

gcc/testsuite/
PR tree-optimization/68264
* gcc.dg/torture/pr68264.c: New test.

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

8 years ago PR c/68320
mpolacek [Fri, 13 Nov 2015 14:05:59 +0000 (14:05 +0000)]
PR c/68320
* c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.

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

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

8 years ago gcc/
nathan [Fri, 13 Nov 2015 13:47:50 +0000 (13:47 +0000)]
gcc/
* gimplify.c (oacc_default_clause): Use inform for enclosing scope.

gcc/testsuite/
* c-c++-common/goacc/data-default-1.c: Correct expected

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

8 years agogen-pass-instances.awk: Rename prefix_len var to len_of_prefix in handle_line
vries [Fri, 13 Nov 2015 13:40:46 +0000 (13:40 +0000)]
gen-pass-instances.awk: Rename prefix_len var to len_of_prefix in handle_line

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

* gen-pass-instances.awk (handle_line): Rename prefix_len var to
len_of_prefix.

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

8 years agogen-pass-instances.awk: Add args_str var in handle_line
vries [Fri, 13 Nov 2015 13:40:37 +0000 (13:40 +0000)]
gen-pass-instances.awk: Add args_str var in handle_line

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

* gen-pass-instances.awk (handle_line): Add args_str variable.

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

8 years ago2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 13 Nov 2015 13:18:02 +0000 (13:18 +0000)]
2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb: Minor reformatting.

2015-11-13  Pascal Obry  <obry@adacore.com>

* adaint.c: Ensure that it is possible to get killed process
status on Windows.

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

8 years agoUpdaate documentation.
charlet [Fri, 13 Nov 2015 13:17:28 +0000 (13:17 +0000)]
Updaate documentation.

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

8 years ago2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
charlet [Fri, 13 Nov 2015 13:14:44 +0000 (13:14 +0000)]
2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>

* sigtramp-ios.c, init.c: Minor cosmetic tweaks.

2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>

* s-gloloc.adb, g-debpoo.adb: Minor reformatting.

2015-11-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Improve error
message for the case the iterable name (array or container)
is a component that depends on a discriminant.

2015-11-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Indicate_Name_And_Type): If the analysis of
one interpretation succeeds, set type of name in call, for
completeness.
(Try_Container_Indexing): If there are multiple indexing
functions, collect possible interpretations that are compatible
with given parameters, and add implicit dereference types when
present.
* sem_util.adb (Build_Explicit_Dereference): If the expression
is an overloaded function call use the given discriminant to
resolve the call, and set properly the type of the call and of
the resulting dereference.

2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Pragma Constant_After_Elaboration can
now apply to a variable without an initialization expression.

2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch9.adb (Add_Matching_Formals): Parameter Actuals is now of mode
IN OUT. Create a new list when list Actuals is not present.
(Build_Contract_Wrapper): Create the wrapper
only when the entry has at least on checked contract case or
pre/postcondition. Ensure that the call to the original entry
lacks an actual parameter list when the entry appears without
formal parameters.
(Expand_Entry_Declaration): Code cleanup.

2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Continue the analysis
after encountering an illegal aspect Part_Of.

2015-11-13  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case
Overlaps_Storage): Add copies for nodes that represent the integer
addresses of the two actuals, to prevent identical nodes in the
tree, which the backend cannot handle properly.

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

8 years ago2015-11-13 Bob Duff <duff@adacore.com>
charlet [Fri, 13 Nov 2015 13:11:30 +0000 (13:11 +0000)]
2015-11-13  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Check_Private_Overriding): Change
name of Parent_Is_Private to be Overrides_Private_Part_Op,
and use Unit_Declaration_Node.

2015-11-13  Bob Duff  <duff@adacore.com>

* sinfo.ads: Minor comment fix.
* sem_ch6.adb: Minor reformatting.

2015-11-13  Jerome Lambourg  <lambourg@adacore.com>

* tracebak.c: Do not use the GCC Unwinder to retrieve traceback
for x86_64-vx7.

2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>

* init.c [Darwin/arm64]: Fix typo.
* sigtramp-armios.c: Remove.
* sigtramp-ios.c: New file.

2015-11-13  Doug Rupp  <rupp@adacore.com>

* s-stchop-vxworks.adb (Set_Stack_Limit_For_Current_Task): Set stack
limit to 12000 decimal vice 12000 hexadecimal.

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

8 years ago2015-11-13 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 13 Nov 2015 13:08:51 +0000 (13:08 +0000)]
2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch9.adb, exp_fixd.adb, exp_util.adb, g-debpoo.adb,
impunit.adb, scos.ads, sem_ch4.adb, sem_prag.adb,
s-stchop-vxworks.adb: Minor reformatting.

2015-11-13  Tristan Gingold  <gingold@adacore.com>

* s-rident.ads (Profile_Info): Enable Pure_Barriers for
GNAT_Extended_Ravenscar.

2015-11-13  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Check_Private_Overriding): Detect the special
case where the overriding subprogram is overriding a subprogram
that was declared in the same private part.

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

8 years agoEnhance Changelog entry related to PR ipa/68311.
marxin [Fri, 13 Nov 2015 12:39:00 +0000 (12:39 +0000)]
Enhance Changelog entry related to PR ipa/68311.

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

8 years agoFix memory leaks in graphite
marxin [Fri, 13 Nov 2015 12:28:54 +0000 (12:28 +0000)]
Fix memory leaks in graphite

* graphite-poly.c (free_scop): Release scop->drs vector.
* graphite-scop-detection.c (scop_detection::harmful_stmt_in_region):
Release dom vector.
(try_generate_gimple_bb): Use vNULL as a default initialization
for vectors.

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

8 years agoFix PR ipa/68311
marxin [Fri, 13 Nov 2015 12:26:23 +0000 (12:26 +0000)]
Fix PR ipa/68311

PR ipa/68311
* ipa-icf.c (sem_item_optimizer::traverse_congruence_split):
Replace ctor with auto_vec and initialization in a loop.

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

8 years ago2015-11-13 Richard Biener <rguenther@suse.de>
rguenth [Fri, 13 Nov 2015 12:14:57 +0000 (12:14 +0000)]
2015-11-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68306
* tree-vect-data-refs.c (verify_data_ref_alignment): Move
loop related checks ...
(vect_verify_datarefs_alignment): ... here.
(vect_slp_analyze_and_verify_node_alignment): Compute and
verify alignment of the single DR that it matters.
* tree-vect-stmts.c (vectorizable_store): Add an assert.
(vectorizable_load): Add a comment.
* tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used
for determining load cost.

* gcc.dg/pr68306.c: Adjust.
* gcc.dg/pr68306-2.c: New testcase.
* gcc.dg/pr68306-3.c: Likewise.

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

8 years agogcc/
ienkovich [Fri, 13 Nov 2015 11:45:25 +0000 (11:45 +0000)]
gcc/

* tree-vect-loop.c (vect_determine_vectorization_factor): Check
mix of boolean and integer vectors in a single statement.
* tree-vect-slp.c (vect_mask_constant_operand_p): New.
(vect_get_constant_vectors): Use vect_mask_constant_operand_p to
determine constant type.
* tree-vect-stmts.c (vectorizable_comparison): Provide vectype
for loop invariants.

gcc/testsuite/

* g++.dg/vect/simd-bool-comparison-1.cc: New test.
* g++.dg/vect/simd-bool-comparison-2.cc: New test.

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

8 years ago2015-11-13 Gary Dismukes <dismukes@adacore.com>
charlet [Fri, 13 Nov 2015 11:32:27 +0000 (11:32 +0000)]
2015-11-13  Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.adb: Minor reformatting and typo fixes.

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

8 years agoMinor clean up.
charlet [Fri, 13 Nov 2015 11:31:34 +0000 (11:31 +0000)]
Minor clean up.

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

8 years ago * include/experimental/bits/shared_ptr.h: Tweak comments.
redi [Fri, 13 Nov 2015 11:30:30 +0000 (11:30 +0000)]
* include/experimental/bits/shared_ptr.h: Tweak comments.

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

8 years ago2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
charlet [Fri, 13 Nov 2015 11:28:27 +0000 (11:28 +0000)]
2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>

* init.c [Darwin/arm64]: Move __gnat_sigtramp implementation to...
(__gnat_map_signal): New function.
(__gnat_error_handler):
Adjust the context and call above function.
* sigtramp-armios.c: ...here.  New file.

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

* bcheck.adb (Check_Consistent_Restrictions): Do not check
consistency of No_Dependence for runtime units.

2015-11-13  Tristan Gingold  <gingold@adacore.com>

* s-rident.ads (Restriction_Id): Add Pure_Barriers.
* restrict.ads (Implementation_Restriction): Add Pure_Barriers.
* exp_ch9.adb (Expand_Entry_Barrier): Create
Is_Simple_Barrier_Name function, add Is_Pure_Barrier and
Check_Pure_Barriers.

2015-11-13  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Get_Cursor_Type): To determine whether a function
First is the proper Iterable primitive, use the base type of the
first formal rather than the type. This is needed in the unusual
case where the Iterable aspect is specified for an integer type.

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

8 years ago2015-11-13 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 13 Nov 2015 11:18:17 +0000 (11:18 +0000)]
2015-11-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Constant_Indexing_OK): If the indexing is the
prefix of a procedure call assume that constant indexing is
not chosen.

2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>

* sigtramp.h: Fix formatting throughout, do not include other
headers, add missing preprocessor condition and 'extern' keywords.
* sigtramp-armdroid.c: Include <sys/ucontext.h>.
* init.c [Android]: Likewise.

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

8 years agoMinor syntactic improvement.
charlet [Fri, 13 Nov 2015 11:16:11 +0000 (11:16 +0000)]
Minor syntactic improvement.

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

8 years ago2015-11-13 Eric Botcazou <ebotcazou@adacore.com>
charlet [Fri, 13 Nov 2015 11:14:34 +0000 (11:14 +0000)]
2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>

* init.c [Darwin/arm64] (__gnat_sigtramp): Do not increment PC,
fix CFI and add return sequence.

2015-11-13  Ed Schonberg  <schonberg@adacore.com>

* exp_fixd.adb (Expand_Convert_Float_To_Fixed): If the conversion
comes from an attribute reference 'Round, the operation must
round and not truncate.
* sem_res.adb, sem_ch6.adb: Minor editing.

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

8 years agofixup changelog entry
dominiq [Fri, 13 Nov 2015 11:08:04 +0000 (11:08 +0000)]
fixup changelog entry
2015-11-13  Dominique d'Humieres <dominiq@lps.ens.fr>

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

8 years agoImplement std::experimental::shared_ptr with array support
redi [Fri, 13 Nov 2015 11:05:28 +0000 (11:05 +0000)]
Implement std::experimental::shared_ptr with array support

2015-11-13  Fan You  <youfan.noey@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/bits/shared_ptr.h: New.
* include/experimental/memory: Include new header.
* testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
* testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
New.
* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
New.
* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
New.
* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
New.
* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
New.
* testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.

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

8 years ago2015-11-13 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Fri, 13 Nov 2015 10:58:53 +0000 (10:58 +0000)]
2015-11-13  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/47266
* gfortran.dg/warn_unused_function_2.f90: New test.

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

8 years agoOptimize condition reductions where the result is an integer induction variable
alahay01 [Fri, 13 Nov 2015 10:51:34 +0000 (10:51 +0000)]
Optimize condition reductions where the result is an integer induction variable

2015-11-13  Alan Hayward <alan.hayward@arm.com>

gcc/
PR tree-optimization/66558
* tree-vect-loop.c (is_integer_induction):Add.
(vectorizable_reduction): Add integer induction checks.

gcc/testsuite/
PR tree-optimization/66558
* gcc.dg/vect/pr65947-1.c: Add checks.
* gcc.dg/vect/pr65947-2.c: Add checks.
* gcc.dg/vect/pr65947-3.c: Add checks.
* gcc.dg/vect/pr65947-4.c: Add checks.
* gcc.dg/vect/pr65947-5.c: Add checks.
* gcc.dg/vect/pr65947-6.c: Add checks.
* gcc.dg/vect/pr65947-10.c: Add checks.
* gcc.dg/vect/pr65947-12.c: New test.
* gcc.dg/vect/pr65947-13.c: New test.

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

8 years agoRevert [ARM] Remove neon-testgen.ml and generated tests.
clyon [Fri, 13 Nov 2015 10:33:55 +0000 (10:33 +0000)]
Revert [ARM] Remove neon-testgen.ml and generated tests.

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

8 years agoDefine alias templates using polymorphic memory resources
redi [Fri, 13 Nov 2015 10:01:05 +0000 (10:01 +0000)]
Define alias templates using polymorphic memory resources

* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/memory_resource: Add feature-test macro.
* include/experimental/regex: New.
* include/experimental/deque: Add alias template using PMR.
* include/experimental/forward_list: Likewise.
* include/experimental/list: Likewise.
* include/experimental/map: Likewise.
* include/experimental/set: Likewise.
* include/experimental/string: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
* include/experimental/vector: Likewise.

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

8 years agoImplement C++ LFTSv1 polymorphic memory resources
redi [Fri, 13 Nov 2015 10:00:59 +0000 (10:00 +0000)]
Implement C++ LFTSv1 polymorphic memory resources

2015-11-13  Fan You  <youfan.noey@gmail.com>

* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/uses_allocator.h (__erased_type): Define.
(__uses_allocator_helper): Check for __erased_type.
* include/experimental/memory_resource: New.
* include/experimental/utlity: New.
* testsuite/experimental/type_erased_allocator/1.cc: New.
* testsuite/experimental/type_erased_allocator/1_neg.cc: New.
* testsuite/experimental/type_erased_allocator/2.cc: New.
* testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.

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

8 years ago2015-11-13 Richard Biener <rguenther@suse.de>
rguenth [Fri, 13 Nov 2015 08:47:05 +0000 (08:47 +0000)]
2015-11-13  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter.
Signal fatal failure if early checks fail.
(vect_analyze_loop): If vect_analyze_loop_2 fails fatally
do not bother testing further vector sizes.

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

8 years ago * config/i386/predicates.md (misaligned_operand): Return true if
uros [Fri, 13 Nov 2015 07:28:33 +0000 (07:28 +0000)]
* config/i386/predicates.md (misaligned_operand): Return true if
operand is aligned to less than its natural alignmnet.

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

8 years agogcc/
ienkovich [Fri, 13 Nov 2015 06:53:16 +0000 (06:53 +0000)]
gcc/

* doc/md.texi (vec_cmp@var{m}@var{n}): New item.
(vec_cmpu@var{m}@var{n}): New item.
(vcond@var{m}@var{n}): Specify comparison is signed.
(vcondu@var{m}@var{n}): New item.
(vcond_mask_@var{m}@var{n}): New item.
(maskload@var{m}@var{n}): New item.
(maskstore@var{m}@var{n}): New item.

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

8 years agogcc/
ienkovich [Fri, 13 Nov 2015 06:50:18 +0000 (06:50 +0000)]
gcc/

* tree-vect-stmts.c (vectorizable_mask_load_store): Check
types of stored value and storage are compatible.

gcc/testsuite/

* g++.dg/vect/simd-mask-store-bool.cc: New test.

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

8 years ago2015-11-13 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
ienkovich [Fri, 13 Nov 2015 06:48:20 +0000 (06:48 +0000)]
2015-11-13  Tsvetkova Alexandra  <aleksandra.tsvetkova@intel.com>

* configure.ac: Enable libmpx by default.
* configure: Regenerated.

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

8 years ago[PATCH] gcc.c: new macro POST_LINK_SPECS to be able to add additional
law [Fri, 13 Nov 2015 06:39:49 +0000 (06:39 +0000)]
[PATCH] gcc.c: new macro POST_LINK_SPECS to be able to add additional
steps after linking

* gcc.c (POST_LINK_SPEC): Define if not already defined.
(LINK_COMMAND_SPEC): Use post_link.
(post_link_spec): New, initialize to POST_LINK_SPEC.
(post_link): Initialize new static spec.
* doc/tm.texi.in (POST_LINK_SPEC): Document.
* doc/tm.texi: Regenerated.

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

8 years agoPR driver/67613 - spell suggestions for misspelled command line options
dmalcolm [Fri, 13 Nov 2015 01:59:03 +0000 (01:59 +0000)]
PR driver/67613 - spell suggestions for misspelled command line options

gcc/ChangeLog:
PR driver/67613
* Makefile.in (GCC_OBJS): Add spellcheck.o.
(OBJS): Add spellcheck-tree.o.
* gcc.c: Include "spellcheck.h".
(suggest_option): New function.
(driver::handle_unrecognized_options): Call suggest_option to
provide a hint about misspelled options.
* spellcheck.c: Update file comment.
(levenshtein_distance): Convert 4-param implementation from static
to extern scope.  Remove note about unit tests from leading
comment for const char * implementation.  Move tree
implementation to...
* spellcheck-tree.c: New file.
* spellcheck.h (levenshtein_distance):  Add 4-param decl.

gcc/testsuite/ChangeLog:
PR driver/67613
* gcc/testsuite/gcc.dg/spellcheck-options-1.c: New file.
* gcc/testsuite/gcc.dg/spellcheck-options-2.c: New file.

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

8 years agoImplement Levenshtein distance; use in C FE for misspelled field names
dmalcolm [Fri, 13 Nov 2015 01:54:41 +0000 (01:54 +0000)]
Implement Levenshtein distance; use in C FE for misspelled field names

This is the combination of:
  [PATCH 1/2] Implement Levenshtein distance
  [PATCH 2/2] C FE: suggest corrections for misspelled field names
plus some nit fixes in spellcheck.c.

gcc/ChangeLog:
* Makefile.in (OBJS): Add spellcheck.o.
* spellcheck.c: New file.
* spellcheck.h: New file.

gcc/c/ChangeLog:
* c-typeck.c: Include spellcheck.h.
(lookup_field_fuzzy_find_candidates): New function.
(lookup_field_fuzzy): New function.
(build_component_ref): If the field was not found, try using
lookup_field_fuzzy and potentially offer a suggestion.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/levenshtein-test-1.c: New file.
* gcc.dg/plugin/levenshtein_plugin.c: New file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
levenshtein_plugin.c.
* gcc.dg/spellcheck-fields.c: New file.

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

8 years ago2015-11-13 James Bowman <james.bowman@ftdichip.com>
jamesbowman [Fri, 13 Nov 2015 01:44:27 +0000 (01:44 +0000)]
2015-11-13  James Bowman  <james.bowman@ftdichip.com>

        * config/ft32/ft32.md (*sne): New insn pattern.

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

8 years agoDaily bump.
gccadmin [Fri, 13 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 13 Nov 2015 00:14:32 +0000 (00:14 +0000)]
2015-11-12  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68318
* decl.c (get_proc_name): Increment reference count for ENTRY.
While here, fix comment and use postfix ++ for consistency.

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

PR fortran/68318
* gfortran.dg/pr68318_1.f90: New test.
* gfortran.dg/pr68318_2.f90: Ditto.

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

8 years ago gcc/cp/
jnorris [Thu, 12 Nov 2015 23:18:40 +0000 (23:18 +0000)]
gcc/cp/
* parser.c (cp_parser_oacc_declare): Remove unused.

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

8 years ago[PATCH] Make disabled-optimization warning more informative; increase default max...
law [Thu, 12 Nov 2015 22:27:47 +0000 (22:27 +0000)]
[PATCH] Make disabled-optimization warning more informative; increase default max-gcse-memory

* gcc/cprop.c (is_too_expensive): Remove.
(gcse.h): Include.
(one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not
is_too_expensive.
* gcc/gcse.h (gcse_or_cprop_is_too_expensive): Declare.
* gcc/gcse.c (is_too_expensive): Rename to ...
(gcse_or_cprop_is_too_expensive): ... this.
Expand warning to add required size of max-gcse-memory.
(one_pre_gcse_pass): Use it.
(one_code_hoisting_pass): Use it.
  * gcc/params.def (max-gcse-memory): Increase from 50MB to 128MB.

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

8 years ago2015-11-12 James Norris <jnorris@codesourcery.com>
jnorris [Thu, 12 Nov 2015 22:20:41 +0000 (22:20 +0000)]
2015-11-12  James Norris  <jnorris@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

gcc/c-family/
* c-pragma.c (oacc_pragmas): Add entry for declare directive.
* c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
(enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
PRAGMA_OACC_CLAUSE_LINK.

gcc/c/
* c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
(c_parser_omp_clause_name): Handle 'device_resident' clause.
(c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
and PRAGMA_OMP_CLAUSE_LINK.
(c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
and PRAGMA_OACC_CLAUSE_LINK.
(OACC_DECLARE_CLAUSE_MASK): New definition.
(c_parser_oacc_declare): New function.

gcc/cp/
* parser.c (cp_parser_omp_clause_name): Handle 'device_resident'
clause.
(cp_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
and PRAGMA_OMP_CLAUSE_LINK.
(cp_paser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
and PRAGMA_OMP_CLAUSE_LINK.
(OACC_DECLARE_CLAUSE_MASK): New definition.
(cp_parser_oacc_declare): New function.
(cp_parser_pragma): Handle PRAGMA_OACC_DECLARE.
* pt.c (tsubst_expr): Handle OACC_DECLARE.

gcc/
* gimple-pretty-print.c (dump_gimple_omp_target): Handle
GF_OMP_TARGET_KIND_OACC_DECLARE.
* gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE.
(is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
* gimplify.c (oacc_declare_returns): New.
(gimplify_bind_expr): Prepend 'exit' stmt to cleanup.
(device_resident_p): New function.
(oacc_default_clause): Handle device_resident clause.
(gimplify_oacc_declare_1, gimplify_oacc_declare): New functions.
(gimplify_expr): Handle OACC_DECLARE.
* omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin.
* omp-low.c (expand_omp_target): Handle
GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE.
(build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE.
(lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE,
GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK.
(make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
* tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and
GOMP_MAP_DEVICE_RESIDENT.

gcc/testsuite
* c-c++-common/goacc/declare-1.c: New test.
* c-c++-common/goacc/declare-2.c: Likewise.

include/
* gomp-constants.h (enum gomp_map_kind): Add GOMP_MAP_DEVICE_RESIDENT
and GOMP_MAP_LINK.

libgomp/
* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
* oacc-parallel.c (GOACC_declare): New function.
* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.

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