platform/upstream/linaro-gcc.git
9 years agoFix cygwin performance loss on linpack.
wilson [Fri, 20 Nov 2015 16:27:17 +0000 (16:27 +0000)]
Fix cygwin performance loss on linpack.

gcc/
* tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.

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

9 years ago[AArch64] Add attribute for compatibility with ARM pipeline models
jgreenhalgh [Fri, 20 Nov 2015 16:15:57 +0000 (16:15 +0000)]
[AArch64] Add attribute for compatibility with ARM pipeline models

gcc/

* config/aarch64/aarch64.md (predicated): Copy attribute from
"arm.md".
* config/arm/arm.md (predicated): Added description.

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

9 years ago * c-common.c (shorten_compare): But look through macros from
jason [Fri, 20 Nov 2015 15:51:35 +0000 (15:51 +0000)]
* c-common.c (shorten_compare): But look through macros from
system headers.

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

9 years ago[ARM] Do not expand movmisalign pattern if not in 32-bit mode
ktkachov [Fri, 20 Nov 2015 15:19:09 +0000 (15:19 +0000)]
[ARM] Do not expand movmisalign pattern if not in 32-bit mode

* config/arm/arm.c (arm_option_override): Require TARGET_32BIT
for unaligned_access.
* config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
from matching condition.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.

* gcc.target/arm/armv6-unaligned-load-ice.c: New test.

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

9 years ago[ARM] PR 68149 Fix ICE in unaligned_loaddi split
ktkachov [Fri, 20 Nov 2015 15:15:31 +0000 (15:15 +0000)]
[ARM] PR 68149 Fix ICE in unaligned_loaddi split

PR target/68149
* config/arm/arm.md (unaligned_loaddi): Delete.
(unaligned_storedi): Likewise.
* config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
unaligned DImode memory ops.  Instead perform two back-to-back
unaligned SImode ops.

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

9 years agoFix wrong attribution in gfortran ChangeLog
pault [Fri, 20 Nov 2015 15:01:34 +0000 (15:01 +0000)]
Fix wrong attribution in gfortran ChangeLog

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

9 years ago2015-11-20 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 20 Nov 2015 14:50:35 +0000 (14:50 +0000)]
2015-11-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68237
* decl.c (gfc_match_submod_proc): Test the interface symbol
before accessing its attributes.

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

PR fortran/66762
(gfc_get_symbol_decl): Test for attr.used_in_submodule as well
as attr.use_assoc (twice).
(gfc_create_module_variable): Ditto.

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

PR fortran/68237
* gfortran.dg/submodule_12.f90: New test

PR fortran/66762
* gfortran.dg/submodule_6.f90: Add compile option -flto.

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

9 years agoSync top level configure with binutils-gdb.
gingold [Fri, 20 Nov 2015 14:24:07 +0000 (14:24 +0000)]
Sync top level configure with binutils-gdb.

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

* configure.ac: Add aarch64-*-darwin* and arm-*-darwin*.
* configure: Regenerate.

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

9 years ago * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
nathan [Fri, 20 Nov 2015 14:23:18 +0000 (14:23 +0000)]
* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.

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

9 years ago2015-11-20 Alan Hayward <alan.hayward@arm.com>
alahay01 [Fri, 20 Nov 2015 14:20:24 +0000 (14:20 +0000)]
2015-11-20  Alan Hayward <alan.hayward@arm.com>

PR tree-optimization/68413
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
evolution base
(vectorizable_reduction): Use cached base

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

9 years ago compiler: Use receiver name in hash/equal for type within method.
ian [Fri, 20 Nov 2015 13:23:02 +0000 (13:23 +0000)]
compiler: Use receiver name in hash/equal for type within method.

    Test case sent as https://golang.org/cl/17081.

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

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

9 years agoFix typo and trailing whitespace in dump-file strings in parloops
vries [Fri, 20 Nov 2015 12:48:17 +0000 (12:48 +0000)]
Fix typo and trailing whitespace in dump-file strings in parloops

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

* tree-parloops.c (build_new_reduction): Fix trailing whitespace in
dump-file string.
(try_create_reduction_list): Same.  Fix typo in dump-file string.

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

9 years agoclang-format: split content of a list to multiple lines
marxin [Fri, 20 Nov 2015 12:24:34 +0000 (12:24 +0000)]
clang-format: split content of a list to multiple lines

* clang-format: Split content of a list to multiple
lines.

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

9 years ago[ARM] Disable neon testing for armv7-m
ktkachov [Fri, 20 Nov 2015 11:49:23 +0000 (11:49 +0000)]
[ARM] Disable neon testing for armv7-m

2015-11-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add check
for M profile.

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

9 years ago * doc/md.texi (Standard Names): Move entry for addptr3 around,
ebotcazou [Fri, 20 Nov 2015 11:04:43 +0000 (11:04 +0000)]
* doc/md.texi (Standard Names): Move entry for addptr3 around,
add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
glitch in entries for cbranch4 and jump.

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

9 years agoDo final value replacement in try_create_reduction_list
vries [Fri, 20 Nov 2015 10:25:26 +0000 (10:25 +0000)]
Do final value replacement in try_create_reduction_list

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

PR tree-optimization/68373
* tree-scalar-evolution.c (final_value_replacement_loop): Factor out of ...
(scev_const_prop): ... here.
* tree-scalar-evolution.h (final_value_replacement_loop): Declare.
* tree-parloops.c (try_create_reduction_list): Call
final_value_replacement_loop.

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

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

9 years ago * ChangeLog: Fix whitespace.
uros [Fri, 20 Nov 2015 10:00:24 +0000 (10:00 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

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

9 years agoFix up misplaced ChangeLog entry.
jakub [Fri, 20 Nov 2015 09:05:53 +0000 (09:05 +0000)]
Fix up misplaced ChangeLog entry.

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

9 years ago PR tree-optimization/52272
amker [Fri, 20 Nov 2015 09:05:08 +0000 (09:05 +0000)]
PR tree-optimization/52272
* tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
(struct iv_common_cand_hasher): New struct.
(iv_common_cand_hasher::hash): New function.
(iv_common_cand_hasher::equal): New function.
(struct ivopts_data): New fields, iv_common_cand_tab and
iv_common_cands.
(tree_ssa_iv_optimize_init): Initialize above fields.
(record_common_cand, common_cand_cmp): New functions.
(add_iv_candidate_derived_from_uses): New function.
(add_iv_candidate_for_use): Record iv_common_cands derived from
iv use in hash table, instead of adding candidates directly.
(add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
(record_important_candidates): Add important candidates to iv uses'
related_cands.  Always keep related_cands for future use.
(try_add_cand_for): Use iv uses' related_cands.
(free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
in struct ivopts_data, iv_common_cand_tab and iv_common_cands.

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

9 years ago PR c++/67354
jakub [Fri, 20 Nov 2015 09:03:45 +0000 (09:03 +0000)]
PR c++/67354
* cp-tree.h (defer_mangling_aliases): Declare.
(generate_mangling_aliases): New prototype.
* decl2.c (defer_mangling_aliases): New variable.
(note_mangling_alias): Use !defer_mangling_aliases
instead of at_eof.
(generate_mangling_aliases): No longer static. Clear
defer_mangling_aliases.
* optimize.c (maybe_thunk_body): Defer emitting mangling aliases
if !defer_mangling_aliases until the fns are put into the same
comdat group.

* g++.dg/abi/mangle67.C: New test.

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

9 years agoS/390: Add bswaphi2 pattern
krebbel [Fri, 20 Nov 2015 07:42:04 +0000 (07:42 +0000)]
S/390: Add bswaphi2 pattern

gcc/testsuite/ChangeLog:
* gcc.target/s390/bswap-1.c: New test.

gcc/ChangeLog:
* config/s390/s390.md ("bswaphi2"): New pattern.

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

9 years agoS/390: Clobber r1 in patterns resulting in pfpo instruction.
krebbel [Fri, 20 Nov 2015 07:36:07 +0000 (07:36 +0000)]
S/390: Clobber r1 in patterns resulting in pfpo instruction.

gcc/ChangeLog

* config/s390/s390.md (GPR1_REGNUM): New constant.
("*trunc<BFP:mode><DFP_ALL:mode>2")
("*trunc<DFP_ALL:mode><BFP:mode>2")
("trunc<BFP:mode><DFP_ALL:mode>2")
("trunc<DFP_ALL:mode><BFP:mode>2")
("*extend<BFP:mode><DFP_ALL:mode>2")
("*extend<DFP_ALL:mode><BFP:mode>2")
("extend<BFP:mode><DFP_ALL:mode>2")
("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.

gcc/testsuite/ChangeLog

* gcc.target/s390/pfpo.c: New test.

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

9 years agogcc/testsuite/
kyukhin [Fri, 20 Nov 2015 05:42:41 +0000 (05:42 +0000)]
gcc/testsuite/
* c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
* c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.

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

9 years agoC++ FE: offer suggestions for misspelled field names
dmalcolm [Fri, 20 Nov 2015 01:26:00 +0000 (01:26 +0000)]
C++ FE: offer suggestions for misspelled field names

gcc/c/ChangeLog:
* c-typeck.c (lookup_field_fuzzy): Move determination of closest
candidate into a new function, find_closest_identifier.

gcc/cp/ChangeLog:
* cp-tree.h (lookup_member_fuzzy): New decl.
* search.c: Include spellcheck.h.
(class lookup_field_fuzzy_info): New class.
(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
(lookup_field_fuzzy_info::fuzzy_lookup_field): New.
(lookup_field_fuzzy_r): New.
(lookup_member_fuzzy): New.
* typeck.c (finish_class_member_access_expr): When issuing
a "has no member named" error, call lookup_member_fuzzy, and
offer any result as a suggestion.

gcc/ChangeLog:
* spellcheck-tree.c (find_closest_identifier): New function, taken
from c/c-typeck.c:lookup_field_fuzzy, with NULL corrected to
NULL_TREE in two places.
* spellcheck.h (find_closest_identifier): New decl.

gcc/testsuite/ChangeLog:
* g++.dg/spellcheck-fields.C: New file.

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

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

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

9 years agoSupport __cxa_free_exception and fix exception handling.
torvald [Fri, 20 Nov 2015 00:10:08 +0000 (00:10 +0000)]
Support __cxa_free_exception and fix exception handling.

gcc/cp/
* except.c (do_free_exception): Use transactional wrapper.

libitm/
* testsuite/libitm.c++/eh-5.C: New.
* libitm.h (_ITM_cxa_free_exception): New.
* libitm.map (_ITM_cxa_free_exception): Add it.
* libitm.texi: Update ABI docs.
* libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
(gtm_transaction_cp::cxa_uncaught_count): Add.
(gtm_thread::cxa_unthrown): Remove.
(gtm_thread::cxa_uncaught_count_ptr): Add.
(gtm_thread::cxa_uncaught_count): Add.
(gtm_thread::drop_references_allocations): Rename to...
(gtm_thread::discard_allocation): ... this and adapt.
(gtm_thread::init_cpp_exceptions): New.
* beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
(gtm_thread::begin_transaction): Likewise.
(gtm_transaction_cp::save): Likewise.
(gtm_thread::trycommit): Likewise.
* eh_cpp.cc: Add overview comments.
(__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
(free_any_exception, _ITM_cxa_free_exception): New.
(gtm_thread::init_cpp_exceptions): Define.
(_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
(_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
(gtm_thread::revert_cpp_exceptions): Likewise.

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

9 years ago* config/msp430/lib2hw_mul.S: Fix alignment.
dj [Fri, 20 Nov 2015 00:08:50 +0000 (00:08 +0000)]
* config/msp430/lib2hw_mul.S: Fix alignment.

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

9 years agofix PR68428: ignore bb dominated by the scop->exit
spop [Thu, 19 Nov 2015 23:06:18 +0000 (23:06 +0000)]
fix PR68428: ignore bb dominated by the scop->exit

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

9 years agofix PR68341: correctly compute the insertion point for close phi nodes
spop [Thu, 19 Nov 2015 22:56:42 +0000 (22:56 +0000)]
fix PR68341: correctly compute the insertion point for close phi nodes

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

9 years agoadd testcase for PR68335
spop [Thu, 19 Nov 2015 22:47:48 +0000 (22:47 +0000)]
add testcase for PR68335

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

9 years ago PR c++/68422
jason [Thu, 19 Nov 2015 22:29:08 +0000 (22:29 +0000)]
PR c++/68422

* cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
* parser.c (cp_parser_sizeof_pack): Set it.
* pt.c  (tsubst_copy) [SIZEOF_EXPR]: Likewise.
(tsubst_pack_expansion): Improve T... shortcut for expression packs.

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

9 years ago gcc/
nathan [Thu, 19 Nov 2015 22:05:03 +0000 (22:05 +0000)]
gcc/
* config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Support
DECL_WEAK.
(nvptx_declare_objec_name): Likewise.

gcc/testsuite/
* lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
* gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
* gcc.dg/special/weak-2.c: Likewise.
* gcc.dg/weak/weak-12.c: Likewise.
* gcc.dg/weak/weak-15.c: Likewise.
* gcc.dg/weak/weak-16.c: Likewise.
* gcc.dg/weak/weak-1.c: Likewise.
* gcc.dg/weak/weak-2.c: Likewise.
* gcc.dg/weak/weak-4.c: Likewise.
* gcc.dg/torture/pr53922.c: Likewise.
* gcc.dg/torture/pr60092.c: Likewise.

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

9 years ago PR c/68412
mpolacek [Thu, 19 Nov 2015 22:04:00 +0000 (22:04 +0000)]
PR c/68412
* c-typeck.c (parser_build_binary_op): Properly handle
C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.

* gcc.dg/pr68412-2.c: New test.
* gcc.dg/pr68412.c: New test.

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

9 years agofix bootstrap without ISL on old linkers
spop [Thu, 19 Nov 2015 20:35:12 +0000 (20:35 +0000)]
fix bootstrap without ISL on old linkers

With and without this patch passes bootstrap on x86_64-linux with and without ISL.
The problem occurs on systems with older linkers that do not remove dead symbols.

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

9 years ago * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
nathan [Thu, 19 Nov 2015 18:58:39 +0000 (18:58 +0000)]
* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
* libgomp.oacc-c-c++-common/reduction-flt.c: New.
* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
and fix.
* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.

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

9 years ago PR c++/68396
jason [Thu, 19 Nov 2015 18:25:38 +0000 (18:25 +0000)]
PR c++/68396

2015-11-19  Ryan Burn  <contact@rnburn.com>

* pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.

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

9 years ago2015-11-19 David Edelsohn <dje.gcc@gmail.com>
dje [Thu, 19 Nov 2015 17:37:12 +0000 (17:37 +0000)]
2015-11-19  David Edelsohn  <dje.gcc@gmail.com>

        Revert
2015-11-18  Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
type-limits warning.

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

9 years ago[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode
law [Thu, 19 Nov 2015 17:30:24 +0000 (17:30 +0000)]
[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode

* tree.h (desired_pro_or_demotion_p): New function.
* tree-vrp.c (simplify_cond_using_ranges): Call it.

* gcc.dg/tree-ssa/vrp98.c: New testcase.
* gcc.target/avr/uint8-single-reg.c: New testcase.

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

9 years ago2015-11-19 Bob Duff <duff@adacore.com>
charlet [Thu, 19 Nov 2015 16:40:37 +0000 (16:40 +0000)]
2015-11-19  Bob Duff  <duff@adacore.com>

* sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
change: correctly handle generic formals/actuals that look like
renamings.

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

9 years agoliboffloadmic/
iverbin [Thu, 19 Nov 2015 16:22:13 +0000 (16:22 +0000)]
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New.
(ImgDescMap): New typedef.
(image_descriptors): New static var.
(init): Allocate image_descriptors.
(offload): Remove vars2 argument.  Pass NULL to __offload_offload1
instead of vars2.
(unregister_main_image): New static function.
(register_main_image): Call unregister_main_image at exit.
(GOMP_OFFLOAD_init_device): Print device number, fix offload args.
(GOMP_OFFLOAD_fini_device): Likewise.
(get_target_table): Remove vd1g and vd2g, don't pass them to offload.
(offload_image): Remove declaration of the struct TargetImage.
Free table.  Insert new descriptor into image_descriptors.
(GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free
the corresponding descriptor, and remove it from address_table and
image_descriptors.
(GOMP_OFFLOAD_alloc): Print device number, remove vd1g.
(GOMP_OFFLOAD_free): Likewise.
(GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g.
(GOMP_OFFLOAD_dev2host): Likewise.
(GOMP_OFFLOAD_run): Print device number, remove vd1g.
* plugin/offload_target_main.cpp (__offload_target_table_p1): Remove
vd2, don't pass it to __offload_target_enter.
(__offload_target_table_p2): Likewise.
(__offload_target_alloc): Likewise.
(__offload_target_free): Likewise.
(__offload_target_host2tgt_p1): Likewise.
(__offload_target_host2tgt_p2): Likewise.
(__offload_target_tgt2host_p1): Likewise.
(__offload_target_tgt2host_p2): Likewise.
(__offload_target_run): Likewise.
(__offload_target_tgt2tgt): Remove vd1g, don't pass it to
__offload_target_enter.

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

9 years ago PR c++/67409
jakub [Thu, 19 Nov 2015 16:18:39 +0000 (16:18 +0000)]
PR c++/67409
* decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
emit_diagnostic instead of permerror.
(check_previous_goto_1): Adjust identify_goto callers, treat all
cases but crossing initialization and entering scope of decl with
non-trivial dtor as unconditional hard errors.
(check_goto): Use identify_goto.  Treat all cases but crossing
initialization and entering scope of decl with non-trivial dtor
as unconditional hard errors.

* g++.dg/eh/goto3.C: New test.

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

9 years ago * fwprop.c (update_uses): Use flag_checking instead of
matz [Thu, 19 Nov 2015 16:12:50 +0000 (16:12 +0000)]
* fwprop.c (update_uses): Use flag_checking instead of
gcc_checking_assert.

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

9 years agoFix typo in doc/gty.texi
dmalcolm [Thu, 19 Nov 2015 15:18:03 +0000 (15:18 +0000)]
Fix typo in doc/gty.texi

gcc/ChangeLog:
* doc/gty.texi (Support for inheritance): Fix missing
parentheses in example.

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

9 years ago PR tree-optimization/68431
mpolacek [Thu, 19 Nov 2015 15:12:35 +0000 (15:12 +0000)]
PR tree-optimization/68431
* tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.

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

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

9 years ago gcc/cp/
cesar [Thu, 19 Nov 2015 14:56:51 +0000 (14:56 +0000)]
gcc/cp/
* parser.h (struct cp_omp_declare_simd_data): Add clauses member.
(struct cp_parser): Change type the of oacc_routine to
cp_omp_declare_simd_data.
* parser.c (cp_ensure_no_oacc_routine): Rework to use
cp_omp_declare_simd_data.
(cp_parser_simple_declaration): Remove boolean first.  Update call to
cp_parser_init_declarator. Don't NULL out oacc_routine.
(cp_parser_init_declarator): Remove boolean first parameter.  Update
calls to cp_finalize_oacc_routine.
(cp_parser_late_return_type_opt): Handle acc routines.
(cp_parser_member_declaration): Remove first variable.  Handle
acc routines like omp declare simd.
(cp_parser_function_definition_from_specifiers_and_declarator): Update
call to cp_finalize_oacc_routine.
(cp_parser_single_declaration): Update call to
cp_parser_init_declarator.
(cp_parser_save_member_function_body): Remove first_decl parameter.
Update call to cp_finalize_oacc_routine.
(cp_parser_finish_oacc_routine): Delete.
(cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data.
(cp_parser_late_parsing_oacc_routine): New function.
(cp_finalize_oacc_routine): Remove first argument.  Add more error
handling and set the acc routine and 'omp declare target' attributes.
(cp_parser_pragma): Remove unnecessary call to
cp_ensure_no_oacc_routine.

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

9 years ago * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
nathan [Thu, 19 Nov 2015 14:40:28 +0000 (14:40 +0000)]
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
atomic_exchange<mode>): Input values can be immediates.

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

9 years ago PR lto/61313
ebotcazou [Thu, 19 Nov 2015 13:31:33 +0000 (13:31 +0000)]
PR lto/61313
* configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
by the user.
* configure: Regenerate.

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

9 years agoclang-format: Enhance list of FOR_EACH macros
marxin [Thu, 19 Nov 2015 12:54:57 +0000 (12:54 +0000)]
clang-format: Enhance list of FOR_EACH macros

* clang-format: Enhance list of FOR_EACH macros.

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

9 years agoAdd clang-format config to contrib folder
marxin [Thu, 19 Nov 2015 12:32:09 +0000 (12:32 +0000)]
Add clang-format config to contrib folder

* .gitignore: Add .clang-format to ignored files.
* Makefile.in: Add clang-format.
* Makefile.tpl: Likewise.
* clang-format: New file.

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

9 years ago PR target/68408
ebotcazou [Thu, 19 Nov 2015 11:49:32 +0000 (11:49 +0000)]
PR target/68408
* config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
(DTORS_SECTION_ASM_OP): Likewise.

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

9 years ago PR rtl-optimization/68376
jakub [Thu, 19 Nov 2015 08:49:59 +0000 (08:49 +0000)]
PR rtl-optimization/68376
* ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.

* gcc.c-torture/execute/pr68376-1.c: New test.
* gcc.c-torture/execute/pr68376-2.c: New test.

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

9 years ago2015-11-19 Richard Biener <rguenther@suse.de>
rguenth [Thu, 19 Nov 2015 08:47:16 +0000 (08:47 +0000)]
2015-11-19  Richard Biener  <rguenther@suse.de>

PR middle-end/68117
* tree-ssa.c (delete_tree_ssa): Revert removal of call to
redirect_edge_var_map_destroy.

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

9 years ago PR target/67770
jakub [Thu, 19 Nov 2015 08:30:19 +0000 (08:30 +0000)]
PR target/67770
* config/i386/i386.md (simple_return): Disable if
ix86_static_chain_on_stack is true.

* gcc.target/i386/pr67770.c: New test.

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

9 years ago PR preprocessor/60736
jakub [Thu, 19 Nov 2015 08:27:12 +0000 (08:27 +0000)]
PR preprocessor/60736
* include/cpplib.h (cpp_errno_filename): New prototype.
* errors.c (cpp_errno): Don't handle msgid "" specially, use
_(msgid) instead of msgid as argument to cpp_error.
(cpp_errno_filename): New function.
* files.c (read_file_guts): Use cpp_errno_filename instead of
cpp_errno.
(open_file_failed): Likewise.  Use file->name if file->path is NULL
in diagnostics.

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

9 years agoPR 68393: Handle SUBREG_PROMOTED_VAR_P in expand_direct_optab_fn
rsandifo [Thu, 19 Nov 2015 08:17:21 +0000 (08:17 +0000)]
PR 68393: Handle SUBREG_PROMOTED_VAR_P in expand_direct_optab_fn

Do the usual dance when assigning to SUBREG_PROMOTED_VAR_P destinations:
first convert to the outer mode, then extend to the inner mode.

Tested that it fixes the powerpc64le-linux-gnu breakage.  Also tested
on x86_64-linux-gnu and powerpc64-linux-gnu.

gcc/
PR bootstrap/68393
* internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P
destinations.

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

9 years ago * c-common.c (shorten_compare): Don't -Wtype-limits if the
jason [Thu, 19 Nov 2015 04:26:48 +0000 (04:26 +0000)]
* c-common.c (shorten_compare): Don't -Wtype-limits if the
non-constant operand comes from a macro.

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

9 years ago[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading
law [Thu, 19 Nov 2015 00:33:27 +0000 (00:33 +0000)]
[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading

PR tree-optimization/68198
* tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
between threading a multi-way branch and a thread path that contains
a multi-way branch.  Disallow the case where a path contains a
multi-way branch and does not thread a multi-way branch.
(thread_through_all_blocks): Update comment.

        PR tree-optimization/68198
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1.
* gcc.dg/tree-ssa/pr68198.c: New test.

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

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

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

9 years ago2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 18 Nov 2015 22:55:17 +0000 (22:55 +0000)]
2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/59910
* primary.c (gfc_match_structure_constructor): Reduce a structure
constructor in a DATA statement.

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

PR fortran/59910
* gfortran.dg/pr59910.f90: New test.

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

9 years ago2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 18 Nov 2015 22:51:39 +0000 (22:51 +0000)]
2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/43996
* simplify.c (gfc_simplify_spread): Issue error for too large array
constructor in a PARAMETER statement.

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

PR fortran/43996
* gfortran.dg/pr43996.f90: New test.

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

9 years agoAdd out-of-line versions of some <stdatomic.h> functions (PR c/65083).
jsm28 [Wed, 18 Nov 2015 22:13:44 +0000 (22:13 +0000)]
Add out-of-line versions of some <stdatomic.h> functions (PR c/65083).

PR c/65083 notes that some functions in <stdatomic.h> are normal
functions, not generic functions, and so need to have out-of-line
copies that can be called when macro expansion is suppressed (unlike
the generic functions where DR#419 makes it undefined if you suppress
a macro expansion).

This patch adds such out-of-line definitions in libatomic for those
six functions, at a new LIBATOMIC_1.2 symbol version, as trivial
wrappers to the <stdatomic.h> macros, along with declarations of those
functions in <stdatomic.h>.  Tests are added that are based on the
corresponding tests for the macros, but with parentheses around the
function names to force the out-of-line functions to be used.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
* ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
(atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
(atomic_flag_clear, atomic_flag_clear_explicit): Declare as
functions before defining as macros.

gcc/testsuite:
* gcc.dg/atomic/stdatomic-fence-2.c,
gcc.dg/atomic/stdatomic-flag-2.c: New tests.

libatomic:
* fence.c, flag.c: New files.
* Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c.
* Makefile.in: Regenerate.
* configure.ac (libtool_VERSION): Change to 3:0:2.
* configure: Regenerate.
* libatomic.map (LIBATOMIC_1.2): New symbol version.

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

9 years ago * gcc-interface/trans.c (elaborate_all_entities_for_package): New
ebotcazou [Wed, 18 Nov 2015 21:59:30 +0000 (21:59 +0000)]
* gcc-interface/trans.c (elaborate_all_entities_for_package): New
function extracted from...  Recurse on packages.
(elaborate_all_entities): ...here.  Call it on packages.

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

9 years ago * gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
ebotcazou [Wed, 18 Nov 2015 21:55:11 +0000 (21:55 +0000)]
* gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
* gcc-interface/gigi.h (enum standard_datatypes): Remove
ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
(longjmp_decl): Delete.
(not_handled_by_others_decl): New macro.
(build_simple_component_ref): Delete.
(build_component_ref): Adjust prototype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
build_component_ref.
(gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
without default value.
* gcc-interface/trans.c (gigi): Reorder initialization sequence
and add not_handled_by_others_decl.
(Attribute_to_gnu): Adjust calls to build_component_ref.
(Subprogram_Body_to_gnu): Likewise.
(Call_to_gnu): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(range_check_info_d): Add inserted_cond field.
(Loop_Statement_to_gnu): Make two passes on the recorded range checks.
(build_noreturn_cond): New static function.
(Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
(make_invariant): New static function.
(Loop_Statement_to_gnu): Use it to compute invariant expressions for
the loop bounds if possible, but do not require it if loop unswitching
is enabled.
* gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
(convert): Likewise.
(maybe_unconstrained_array): Likewise.  Call it instead of
build_simple_component_ref and add guard for CONSTRUCTORs.
(unchecked_convert): Likewise.
* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
(build_simple_component_ref): Remove COMPONENT parameter, unify
code dealing with VIEW_CONVERT_EXPR and make it more general,
remove special treatment for CONSTRUCTORs of template types.
(build_component_ref): Remove COMPONENT parameter and adjust call
to build_simple_component_ref.
(maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.
(gnat_invariant_expr): Look through overflow checks, deal with
addition and subtraction of constants and take into account
DECL_INVARIANT_P for the COMPONENT_REF case.

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

9 years ago * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace.
nathan [Wed, 18 Nov 2015 21:33:57 +0000 (21:33 +0000)]
* config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace.
(nvptx_record_offload_symbol): Remove code compensating for lack
of default dimension handling.
(nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers.

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

9 years ago * gcc-interface/misc.c: Move global variables to the top of the file.
ebotcazou [Wed, 18 Nov 2015 21:17:51 +0000 (21:17 +0000)]
* gcc-interface/misc.c: Move global variables to the top of the file.
(gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers.
(gnat_init_options): Minor tweak.
(gnat_post_options): Set -fstrict-overflow if not done by the user.
(internal_error_function): Minor reformatting.

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

9 years agoEnable condegen in case of cond phis.
spop [Wed, 18 Nov 2015 21:08:40 +0000 (21:08 +0000)]
Enable condegen in case of cond phis.

The codegen of conditional PHIs inside the scop where one predecessor dominates
the other was difficult so it wasn't enabled in the previous patch. After a
couple of bug-fixes this has been enabled in this patch.  Not all the cases
could be handled in this case because it becomes difficult to map the basic
block back to original code in some cases.

Bug-fixes:
1. The vec_find returns -1 when no element was found. This wasn't checked.
2. When the arguments to pending phis could not be resolved in the second pass,
the codegen would fail so the new code should be cleaned up.

This patch passes regtest and bootstrap on linux-x86-64 with
BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'

2015-11-14  hiraditya  <hiraditya@msn.com>

* graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return
          type to bool for early exit.
          (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return in
          case of error.
          (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
          (add_phi_arg_for_new_expr): Enable codegen for if-block where one predecessor
          dominates the other.
          (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the element is not
          found it returns -1.
          (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail out early when
          codegen fails.
          (graphite_regenerate_ast_isl): Remove codegen region when pending phis
          could not be generated.

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

9 years agoMove codegen related functions to graphite-isl-ast-to-gimple.c
spop [Wed, 18 Nov 2015 21:08:33 +0000 (21:08 +0000)]
Move codegen related functions to graphite-isl-ast-to-gimple.c

No functional changes intended.
This patch passes regtest and bootstrap on linux-x86-64 with
BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize'

gcc/ChangeLog:

2015-11-14  hiraditya  <hiraditya@msn.com>

* graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove semicolon.
(class translate_isl_ast_to_gimple): Indentation.
        (translate_pending_phi_nodes): Comment.
        (add_parameters_to_ivs_params): Moved from sese.c inside class translate_isl_ast_to_gimple.
        (get_max_schedule_dimensions): Same.
        (generate_isl_context): Same.
        (extend_schedule): Same.
        (generate_isl_schedule): Same.
        (set_options): Same.
        (scop_to_isl_ast): Same.
        (is_valid_rename): Same.
        (get_rename): Same.
        (get_rename_from_scev): Same.
        (get_def_bb_for_const): Same.
        (get_new_name): Same.
        (collect_all_ssa_names): Same.
        (copy_loop_phi_args): Same.
        (copy_loop_phi_nodes): Same.
        (copy_loop_close_phi_args): Same.
        (copy_loop_close_phi_nodes): Same.
        (copy_cond_phi_args): Same.
        (copy_cond_phi_nodes): Same.
        (graphite_copy_stmts_from_block): Same.
        (copy_bb_and_scalar_dependences): Same.
        (add_phi_arg_for_new_expr): Same.
        (rename_uses): Same.
        (set_rename): Same.
        (set_rename_for_each_def): Same.
        (gsi_insert_earliest): Same.
        (rename_all_uses): Same.
        (codegen_error_p): Same.
        (print_isl_ast_node): Same.
(translate_isl_ast_for_loop): Call function codegen_error_p.
(translate_isl_ast_to_gimple::translate_isl_ast): Same.
        (translate_isl_ast_node_user): Make nb_loops const and release iv_map before exit.
(get_true_edge_from_guard_bb): Move all free-functions early.
(get_false_edge_from_guard_bb): Same.
(bb_contains_loop_close_phi_nodes): Same.
(bb_contains_loop_phi_nodes): Same.
(is_loop_closed_ssa_use):  Same.
(number_of_phi_nodes): Same.
(phi_uses_name): Same.
(later_of_the_two): Same.
(substitute_ssa_name):
(get_edges): Same.
(get_loc): Same.
(get_loop_init_value): Same.
(find_init_value): Same.
(find_init_value_close_phi): Same.
(ast_build_before_for): Same.
(graphite_regenerate_ast_isl): Formatting changes.
* graphite-scop-detection.c (build_cross_bb_scalars_use): Same.
* sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c
(set_rename): Same.
(gsi_insert_earliest): Same.
(collect_all_ssa_names): Same.
(rename_all_uses): Same.
(rename_uses): Same.
(get_def_bb_for_const): Same.
(copy_loop_phi_nodes): Same.
(copy_loop_close_phi_args): Same.
(copy_loop_close_phi_nodes): Same.
(copy_cond_phi_args): Same.
(copy_cond_phi_nodes): Same.
(set_rename_for_each_def): Same.
(graphite_copy_stmts_from_block): Same.
(copy_bb_and_scalar_dependences): Same.
(if_region_set_false_region): Same.
(scev_analyzable_p): Same.
* sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c

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

9 years ago2015-11-18 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Wed, 18 Nov 2015 20:48:18 +0000 (20:48 +0000)]
2015-11-18  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the
    commit from r125920 for FreeBSD.

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

9 years ago Support GGC finalizers with PCH.
jason [Wed, 18 Nov 2015 20:11:32 +0000 (20:11 +0000)]
Support GGC finalizers with PCH.

* ggc-page.c (ggc_globals): Change finalizers and vec_finalizers
to be vecs of vecs.
(add_finalizer): Split out from ggc_internal_alloc.
(ggc_handle_finalizers): Run finalizers for the current depth.
(init_ggc, ggc_pch_read): Reserve space for finalizers.

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

9 years ago2015-11-18 Sandra Loosemore <sandra@codesourcery.com>
sandra [Wed, 18 Nov 2015 19:45:47 +0000 (19:45 +0000)]
2015-11-18  Sandra Loosemore  <sandra@codesourcery.com>

PR target/68410
* config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests
from || expression.

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

9 years ago * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and
denisc [Wed, 18 Nov 2015 19:15:31 +0000 (19:15 +0000)]
* config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and
atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb
and atmega328pb.
* doc/avr-mmcu.texi: Regenerate.

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

9 years ago gcc/
nathan [Wed, 18 Nov 2015 18:33:38 +0000 (18:33 +0000)]
gcc/
* config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types.
(pseudo_node_t, struct bracket, bracket_vec_t): New types.
(struct bb_sese): New struct.
(bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New.
(BB_GET_SESE, BB_SET_SESE): Define.
(nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New.
(nvptx_find_sese): New.
(nvptx_neuter_pars): Find SESE regions when optimizing.

gcc/testsuite/
* gcc.dg/goacc/nvptx-sese-1.c: New.

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

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1
ebotcazou [Wed, 18 Nov 2015 18:31:42 +0000 (18:31 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1
for the renaming of an address.

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

9 years ago * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
ebotcazou [Wed, 18 Nov 2015 18:19:57 +0000 (18:19 +0000)]
* gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
the index is not itself constant then bail out.

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

9 years agoAdd PR marker to last change
law [Wed, 18 Nov 2015 16:55:41 +0000 (16:55 +0000)]
Add PR marker to last change

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

9 years ago * gcc.dg/tree-ssa/split-path-1.c: Fix the testcase
law [Wed, 18 Nov 2015 16:54:16 +0000 (16:54 +0000)]
* gcc.dg/tree-ssa/split-path-1.c: Fix the testcase
to avoid undefined behaviour.

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

9 years ago gcc/cp/
cesar [Wed, 18 Nov 2015 16:31:04 +0000 (16:31 +0000)]
gcc/cp/
* cp-gimplify.c (cp_fold_r): Add support for OACC_LOOP.

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

9 years ago2015-11-18 Alan Modra <amodra@gmail.com>
dje [Wed, 18 Nov 2015 15:31:18 +0000 (15:31 +0000)]
2015-11-18  Alan Modra  <amodra@gmail.com>

        * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
        type-limits warning.

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

9 years agoPR 68406: Avoid problem with older host compilers
rsandifo [Wed, 18 Nov 2015 14:31:10 +0000 (14:31 +0000)]
PR 68406: Avoid problem with older host compilers

Older compilers require the Key typedef to be expanded for the traversal
function templates.  This patch uses the same approach as we did for
hash_map.

Tested on x86_64-linux-gnu.

gcc/
PR bootstrap/68406
* hash-set.h (hash_set::traverse): Expand Key typedef.

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

9 years agoFinalize func_options in arm target in
marxin [Wed, 18 Nov 2015 14:18:11 +0000 (14:18 +0000)]
Finalize func_options in arm target in

* config/arm/arm.c (arm_valid_target_attribute_p): Finalize
options struct.

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

9 years ago2015-11-18 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 18 Nov 2015 13:55:42 +0000 (13:55 +0000)]
2015-11-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Try_Container_Indexing): When constructing the
parameter list for the potentially overloaded calls to indexing
functions, do not propagate overloadings if the actual is a named
association: overloadings appear directly on the expression in
the association.

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

* sem_type.adb (Interface_Present_In_Ancestor): If the type is
incomplete, the list of ancestors is found either on the full
view or the non-limited view of the type.

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

9 years ago2015-11-18 Nicolas Roche <roche@adacore.com>
charlet [Wed, 18 Nov 2015 13:53:58 +0000 (13:53 +0000)]
2015-11-18  Nicolas Roche  <roche@adacore.com>

* sysdep.c (__gnat_localtime_tzoff): On Windows platform
GetTimeZoneInformation function is thread-safe. Thus there
is no need to lock the runtime in the implementation of
__gnat_localtime_tzoff on that platform.

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

* s-arit64.adb (To_Neg_Int): Add a special case for 2**63 input.

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

* contracts.adb (Analyze_Contracts): New routine.
(Analyze_Enclosing_Package_Body_Contract): Removed.
(Analyze_Entry_Or_Subprogram_Contract): Add formal parameter
Freeze_Id.  Propagate the entity of the freezing body to vaious
analysis routines.
(Analyze_Initial_Declaration_Contract): Removed.
(Analyze_Object_Contract): Add formal parameter
Freeze_Id. Propagate the entity of the freezing body to vaious
analysis routines.
(Analyze_Previous_Contracts): New routine.
* contracts.ads (Analyze_Enclosing_Package_Body_Contract): Removed.
(Analyze_Contracts): New routine.
(Analyze_Entry_Or_Subprogram_Contract): Add formal
parameter Freeze_Id and update the comment on usage.
(Analyze_Initial_Declaration_Contract): Removed.
(Analyze_Object_Contract): Add formal parameter Freeze_Id and
update the comment on usage.
(Analyze_Previous_Contracts): New routine.
* sem_ch3.adb (Analyze_Declarations): Use Analyze_Contracts to
analyze all contracts of eligible constructs.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
A body no longer freezes the contract of its initial
declaration. This effect is achieved through different means.
(Analyze_Subprogram_Body_Helper): A body now freezes the contracts
of all eligible constructs that precede it. A body no longer
freezes the contract of its initial declaration. This effect is
achieved through different means.
* sem_ch7.adb (Analyze_Package_Body_Helper): A body now freezes
the contracts of all eligible constructs that precede it. A body
no longer freezes the contract of its initial declaration. This
effect is achieved through different means.
* sem_ch9.adb (Analyze_Entry_Body): A body now freezes
the contracts of all eligible constructs that precede
it. A body no longer freezes the contract of its initial
declaration. This effect is achieved through different means.
(Analyze_Protected_Body): A body now freezes the contracts
of all eligible constructs that precede it. A body no longer
freezes the contract of its initial declaration. This effect
is achieved through different means.
(Analyze_Task_Body): A
body now freezes the contracts of all eligible constructs that
precede it. A body no longer freezes the contract of its initial
declaration. This effect is achieved through different means.
* sem_prag.adb (Add_Item_To_Name_Buffer): Single protected/task
objects now output their respective current instance of xxx
type messages. (Analyze_Contract_Cases_In_Decl_Part): Add
formal parameter Freeze_Id. Emit a clarification message
when an undefined entity may the byproduct of contract
freezing.
(Analyze_Part_Of_In_Decl_Part): Add formal
parameter Freeze_Id. Emit a clarification message when an
undefined entity may the byproduct of contract freezing.
(Analyze_Pre_Post_Condition_In_Decl_Part): Add formal
parameter Freeze_Id. Emit a clarification message when an
undefined entity may the byproduct of contract freezing.
(Analyze_Refined_State_In_Decl_Part): Do not report unused body
states as constituents of single protected/task types may not
bave been identified yet.
(Collect_Subprogram_Inputs_Outputs):
Reimplemented. (Contract_Freeze_Error): New routine.
(Process_Overloadable): Use predicate Is_Single_Task_Object.
* sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part):
Add formal parameter Freeze_Id and update the comment
on usage.
(Analyze_Part_Of_In_Decl_Part): Add formal
parameter Freeze_Id and update the comment on usage.
(Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter
Freeze_Id and update the comment on usage.
* sem_util.adb (Check_Unused_Body_States): Remove global
variable Legal_Constits. The routine now reports unused
body states regardless of whether constituents are
legal or not.
(Collect_Body_States): A constituent of a
single protected/task type is not a visible state of a
package body.
(Collect_Visible_States): A constituent
of a single protected/task type is not a visible
state of a package body.
(Has_Undefined_Reference): New routine.
(Is_Single_Concurrent_Object): Reimplemented.
(Is_Single_Protected_Object): New routine.
(Is_Single_Task_Object): New routine.
(Is_Visible_Object): New routine.
(Report_Unused_Body_States): Moved to Check_Unused_Body_States.
* sem_util.ads (Check_Unused_Body_States): Update the comment on usage.
(Has_Undefined_Reference): New routine.
(Is_Single_Protected_Object): New routine.
(Is_Single_Task_Object): New routine.
(Report_Unused_Body_States): Moved to Check_Unused_Body_States.

2015-11-18  Pierre-Marie de Rodat  <derodat@adacore.com>

* Makefile.rtl, impunit.adb: Add g-strhas.ads.
* g-strhas.ads: New file.
* s-strhas.ads: Add a comment to redirect users to g-strhas.ads.

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

* sem_elab.adb (Check_Internal_Call_Continue): Fix the case
where the call in question is to a renaming of a subprogram that
can be safely called without ABE.
* checks.adb: Minor edits.

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

9 years ago gcc/
nathan [Wed, 18 Nov 2015 13:49:17 +0000 (13:49 +0000)]
gcc/
* config/nvptx/nvptx.c (global_lock_var): New.
(nvptx_global_lock_addr): New.
(nvptx_lockless_update): Recomment and adjust for clarity.
(nvptx_lockfull_update): New.
(nvptx_reduction_update): New.
(nvptx_goacc_reduction_fini): Call it.

libgcc/
* config/nvptx/reduction.c: New.
* config/nvptx/t-nvptx (LIB2ADD): Add it.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
worker & gang cases.
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.

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

9 years ago * regrename.h (struct du_head): Add target_data_1 and target_data_2
bernds [Wed, 18 Nov 2015 12:26:43 +0000 (12:26 +0000)]
* regrename.h (struct du_head): Add target_data_1 and target_data_2
fields.
* regrename.c (create_new_chain): Clear entire struct after allocating.

* config/i386/i386.opt (mmitigate-rop): New option.
* doc/invoke.texi (mmitigate-rop): Document.
* config/i386/i386.c: Include "regrename.h".
(ix86_rop_should_change_byte_p, reg_encoded_number,
ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New
static functions.
(ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop.
* config/i386/i386.md (attr "modrm_class"): New.
(cmp<mode>_ccno_1, mov<mode>_xor, movstrict<mode>_xor,
x86_mov<mode>cc_0_m1. x86_mov<mode>cc_0_m1_se)
(x86_mov<mode>cc_0_m1_neg): Override modrm_class attribute.

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

9 years agogcc/
ienkovich [Wed, 18 Nov 2015 11:51:58 +0000 (11:51 +0000)]
gcc/

PR target/68405
* config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing
break.

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

9 years ago2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 18 Nov 2015 10:53:39 +0000 (10:53 +0000)]
2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>

* atree.adb (Elist11): New routine.
(Set_Elist11): New routine.
* atree.ads (Elist11): New routine.
(Set_Elist11): New routine.
* atree.h: Define Elist11.
* contracts.adb (Analyze_Object_Contract): Verify the legality
of all references to a variable given that the variable is a
constituent of a single protected/task type.
* einfo.adb: Part_Of_References now utilizes Elist11.
(Part_Of_References): New routine.
(Set_Part_Of_References): New routine.
(Write_Field11_Name): Add output for Part_Of_References.
* einfo.ads New attribute Part_Of_References along with usage
in entities.
(Part_Of_References): New routine along with
pragma Inline.
(Set_Part_Of_References): New routine along with pragma Inline.
* sem_prag.adb (Analyze_Constituent): Record a possible
reference to a concurrent constituent.
(Analyze_Global_Item): Record a possible reference to a concurrent
constituent.
(Analyze_Input_Output): Record a possible reference to a
concurrent constituent.
* sem_res.adb (Resolve_Entity_Name): Record a possible reference
to a concurrent constituent.
* sem_util.adb (Check_Part_Of_Reference): New routine.
(Record_Possible_Part_Of_Reference): New routine.
* sem_util.ads (Check_Part_Of_Reference): New routine.
(Record_Possible_Part_Of_Reference): New routine.

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

* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
An if_expression is the proper place to apply the overflow
minimization procedure if its context is not an enclosing
arithmetic expression.

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

9 years agoRegenerate doc.
charlet [Wed, 18 Nov 2015 10:51:46 +0000 (10:51 +0000)]
Regenerate doc.

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

9 years ago * gnat_ugn/gnat_project_manager.rst,
charlet [Wed, 18 Nov 2015 10:50:40 +0000 (10:50 +0000)]
    * gnat_ugn/gnat_project_manager.rst,
        gnat_ugn/building_executable_programs_with_gnat.rst,
        gnat_ugn/gnat_and_program_execution.rst,
        gnat_ugn/the_gnat_compilation_model.rst,
        gnat_rm/implementation_defined_pragmas.rst,
        gnat_rm/standard_and_implementation_defined_restrictions.rst,
        gnat_ugn.texi, gnat_rm.texi: Update doc.

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

9 years agoMinor code clean ups.
charlet [Wed, 18 Nov 2015 10:48:32 +0000 (10:48 +0000)]
Minor code clean ups.

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

9 years ago2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 18 Nov 2015 10:42:27 +0000 (10:42 +0000)]
2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>

* contracts.adb (Add_Contract_Item): Chain pragmas Attach_Handler
and Interrupt_Handler on the classifications list of a [generic]
procedure N_Contract node.
* contracts.ads (Add_Contract_Item): Update the comment on usage.
* einfo.adb (Get_Pragma): Pragmas Attach_Handler and
Interrupt_Handler are found on the classifications list of
N_Contract nodes.
* einfo.ads (Get_Pragma): Update the comment on usage.
* sem_prag.adb (Process_Interrupt_Or_Attach_Handler): Code
reformatting. Store the pragma as a contract item.

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

* sem_ch8.adb (Available_Subtype): Use only in GNATprove
mode. When generating code it may be necessary to create itypes
at the point of use of a selected component, for example in the
expansion of a record equality operation.

2015-11-18  Vincent Celier  <celier@adacore.com>

* s-os_lib.adb (Normalize_Pathname.Get_Directory): When
invoking Normalize_Pathname, use the same values for parameters
Resolve_Links and Case_Sensitive as the parent Normalize_Pathname.

2015-11-18  Vincent Celier  <celier@adacore.com>

* a-direct.adb (Containing_Directory): Return "." when the result
is the current directory, not specified as an absolute path name.

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

9 years ago2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 18 Nov 2015 10:40:47 +0000 (10:40 +0000)]
2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_aggr.adb (Is_Completely_Hidden_Discriminant): New routine.
(Init_Hidden_Discriminants): Code reformatting. Do not initialize
a completely hidden discriminant.
* a-interr.ads (Get_CPU): Added SPARK_Mode, Volatile_Function
and Global aspects on the function.

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

* exp_intr.adb (Expand_Unc_Deallocation): If the designated
type is a concurrent type, the deallocation applies to the
corresponding record type, or to its class-wide type if the type
is tagged.

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

9 years ago2015-11-18 Doug Rupp <rupp@adacore.com>
charlet [Wed, 18 Nov 2015 10:39:37 +0000 (10:39 +0000)]
2015-11-18  Doug Rupp  <rupp@adacore.com>

* s-parame-vxworks.adb: Reduce default stack size for stack
limit check to a reasonable value
* s-tpopsp-vxworks.adb: Make Stack_Limit a task variable for vx5 and
vxmils.

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

9 years ago2015-11-18 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 18 Nov 2015 10:31:53 +0000 (10:31 +0000)]
2015-11-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Assignment): Diagnose assignment where
left-hand side has a limited view of a class-wide type.
* sem_ch6.adb (Detected_And_Exchange): Do not install a non-limited
view if the scope of the type of the formal is visible through
a limited_with_clause, even if the non-limited view is available.

2015-11-18  Emmanuel Briot  <briot@adacore.com>

* s-pooglo.ads: Make Global_Pool_Object aliased.

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

* sem_attr.adb (Analyze_Attribute, case 'Access): If the prefix
is an expression function, do not analyze the generated body if
the current scope is not the scope of the expression function,
as may happen if the attribute is an actual in an instantiation.
* sem_ch10.adb, sem_ch12.adb, a-stzmap.adb, s-soflin.adb,
a-stwima.adb: Fix typos.

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

* exp_ch11.adb (Expand_N_Exception_Declaration): No-op when
generating C code.

2015-11-18  Vincent Celier  <celier@adacore.com>

* g-comlin.adb (Find_Longest_Matching_Switch): Do not take into
account a switch ending with '=' when the actual command line
switch is not followed with a space or '='.

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

* sem_res.adb (Resolve_Explicit_Dereference): Do not add an access
check if the type of the prefix is known to exclude null.
* a-coinve.adb (Get_Element_Access): The function returns an
access type that excludes null, so add an explicit check for
a null element pointer, which is created when Insert_Spaces is
called on an indefinite vector container.

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

9 years ago2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 18 Nov 2015 10:30:12 +0000 (10:30 +0000)]
2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>

PR ada/66242

* exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort
defer / undefer pairs are now encapsulated in a block with
an AT END handler. Partial finalization now takes restriction
No_Exception_Propagation into account when generating blocks.
* exp_ch7.adb Various reformattings.
(Create_Finalizer): Change
the generation of abort defer / undefer pairs and explain the
lack of an AT END handler.
(Process_Transient_Objects): Add generation of abort defer/undefer
pairs.
* exp_ch9.adb Various reformattings.
(Build_Protected_Subprogram_Body): Use
Build_Runtime_Call to construct a call to Abort_Defer.
(Build_Protected_Subprogram_Call_Cleanup): Use
Build_Runtime_Call to construct a call to Abort_Undefer.
(Expand_N_Asynchronous_Select): Use Build_Runtime_Call to
construct a call to Abort_Defer.
* exp_intr.adb (Expand_Unc_Deallocation): Abort defer
/ undefer pairs are now encapsulated in a block with
an AT END handler. Finalization now takes restriction
No_Exception_Propagation into account when generating blocks.
* exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed.

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

9 years ago PR tree-optimization/68157
jakub [Wed, 18 Nov 2015 10:23:21 +0000 (10:23 +0000)]
PR tree-optimization/68157
* tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of
pow_stmt or mul_stmt from stmt's uid.
(reassociate_bb): Set uid of mul_stmt from stmt's uid.

* g++.dg/opt/pr68157.C: New test.

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

9 years ago2015-11-18 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 18 Nov 2015 10:23:05 +0000 (10:23 +0000)]
2015-11-18  Arnaud Charlet  <charlet@adacore.com>

* switch-c.adb (Scan_Front_End_Switches): Add a check requiring
-gnatc with -gnateg.

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

* sem_ch7.adb (Uninstall_Declarations): Before swapping private
and full views, ensure that the potential use visbility of the
two views is consistent.

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

* s-parame-vxworks.adb: Increase default stack size for targets
using stack limit checking.

2015-11-18  Jose Ruiz  <ruiz@adacore.com>

* a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
function that was added to Ada 2005 returning the processor where
interrupt handlers execute.

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

* exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
declaration of a protected definition.

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

9 years ago2015-11-18 Ed Falis <falis@adacore.com>
charlet [Wed, 18 Nov 2015 10:20:28 +0000 (10:20 +0000)]
2015-11-18  Ed Falis  <falis@adacore.com>

* s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.

2015-11-18  Gary Dismukes  <dismukes@adacore.com>

* bcheck.adb: Minor editorial changes.

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

9 years ago2015-11-18 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 18 Nov 2015 10:12:27 +0000 (10:12 +0000)]
2015-11-18  Arnaud Charlet  <charlet@adacore.com>

* interfac.ads (Unsigned_24): New type.
* sem_ch13.adb (Validate_Unchecked_Conversion): Disable error on
unconstrained arrays in Relaxed_RM_Semantics mode.

2015-11-18  Vincent Celier  <celier@adacore.com>

* bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): No
warning is withed unit is the interface of a Stand-Alone Library.

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

9 years ago2015-11-18 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 18 Nov 2015 10:10:46 +0000 (10:10 +0000)]
2015-11-18  Thomas Quinot  <quinot@adacore.com>

* s-os_lib.ads, s-os_lib.adb(Normalize_Pathname): Support the case of
an unresolved Directory argument, by recursively resolving it
against the current dir.

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

* sem_ch6.adb (Process_Formals): A function declaration that
returns a class-wide type must have freeing deferred, so that it
is not frozen before the class-wide type and its root type are
frozen. This is significant when there may be a limited view of
the class_wide type in another package.

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

9 years ago2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 18 Nov 2015 10:08:00 +0000 (10:08 +0000)]
2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Has_Non_Null_Refinement): Rename to
Has_Non_Null_Visible_Refinement.
(Has_Null_Refinement): Rename to Has_Null_Visible_Refinement.
* einfo.ads Update the documentation of
attribute Has_Non_Null_Refinement and attribute Has_Null_Refinement.
(Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement
and update occurrences in entities.
(Has_Null_Refinement): Rename to Has_Null_Visible_Refinement and update
occurrences in entities.
* sem_prag.adb (Check_In_Out_States): Update the calls to
Has_[Non_]Null_Refinement.
(Check_Input_States): Update the
calls to Has_[Non_]Null_Refinement.
(Check_Output_States): Update the calls to Has_[Non_]Null_Refinement.
(Check_Proof_In_States): Update the calls to Has_[Non_]Null_Refinement.
(Collect_Global_Item): Update the calls to Has_[Non_]Null_Refinement.
(Is_Null_Refined_State): Update the calls to Has_[Non_]Null_Refinement.
(Match_Item): Update the calls to Has_[Non_]Null_Refinement.
* sem_util.adb (Has_Non_Null_Refinement): New routine.
(Has_Null_Refinement): New routine.
* sem_util.ads (Has_Non_Null_Refinement): New routine.
(Has_Null_Refinement): New routine.

2015-11-18  Gary Dismukes  <dismukes@adacore.com>

* exp_util.adb: Minor reformatting and typo fixes.

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