platform/upstream/linaro-gcc.git
9 years agolibjava/classpath: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 11:07:14 +0000 (11:07 +0000)]
libjava/classpath: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

 * Makefile.in: Regenerated with automake-1.11.6.
 * aclocal.m4: Likewise.
 * configure: Likewise.
 * doc/Makefile.in: Likewise.
 * doc/api/Makefile.in: Likewise.
 * examples/Makefile.in: Likewise.
 * external/Makefile.in: Likewise.
 * external/jsr166/Makefile.in: Likewise.
 * external/relaxngDatatype/Makefile.in: Likewise.
 * external/sax/Makefile.in: Likewise.
 * external/w3c_dom/Makefile.in: Likewise.
 * include/Makefile.in: Likewise.
 * lib/Makefile.in: Likewise.
 * native/Makefile.in: Likewise.
 * native/fdlibm/Makefile.in: Likewise.
 * native/jawt/Makefile.in: Likewise.
 * native/jni/Makefile.in: Likewise.
 * native/jni/classpath/Makefile.in: Likewise.
 * native/jni/gconf-peer/Makefile.in: Likewise.
 * native/jni/gstreamer-peer/Makefile.in: Likewise.
 * native/jni/gtk-peer/Makefile.in: Likewise.
 * native/jni/java-io/Makefile.in: Likewise.
 * native/jni/java-lang/Makefile.in: Likewise.
 * native/jni/java-math/Makefile.in: Likewise.
 * native/jni/java-net/Makefile.in: Likewise.
 * native/jni/java-nio/Makefile.in: Likewise.
 * native/jni/java-util/Makefile.in: Likewise.
 * native/jni/midi-alsa/Makefile.in: Likewise.
 * native/jni/midi-dssi/Makefile.in: Likewise.
 * native/jni/native-lib/Makefile.in: Likewise.
 * native/jni/qt-peer/Makefile.in: Likewise.
 * native/jni/xmlj/Makefile.in: Likewise.
 * native/plugin/Makefile.in: Likewise.
 * resource/Makefile.in: Likewise.
 * scripts/Makefile.in: Likewise.
 * tools/Makefile.in: Likewise.

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

9 years agolibdecnumber: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 11:02:59 +0000 (11:02 +0000)]
libdecnumber: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

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

9 years agolibcpp: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 11:02:17 +0000 (11:02 +0000)]
libcpp: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

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

9 years agolibcilkrts: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 11:01:24 +0000 (11:01 +0000)]
libcilkrts: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

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

9 years agolibcc1: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 11:00:37 +0000 (11:00 +0000)]
libcc1: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

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

9 years ago2015-05-13 Richard Biener <rguenther@suse.de>
rguenth [Wed, 13 May 2015 10:59:49 +0000 (10:59 +0000)]
2015-05-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66123
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
a taken edge.

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

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

9 years agogotools: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:59:14 +0000 (10:59 +0000)]
gotools: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

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

9 years agolibbacktrace: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:58:11 +0000 (10:58 +0000)]
libbacktrace: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

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

9 years agoboehm-gc: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:56:33 +0000 (10:56 +0000)]
boehm-gc: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* include/Makefile.in: Likewise.
* include/gc_config.h.in: Likewise.
* testsuite/Makefile.in: Likewise.

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

9 years ago2015-05-13 Richard Biener <rguenther@suse.de>
rguenth [Wed, 13 May 2015 10:53:42 +0000 (10:53 +0000)]
2015-05-13  Richard Biener  <rguenther@suse.de>

PR middle-end/66110
* alias.c (alias_sets_conflict_p): Do not treat has_zero_child
specially.
* Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.

* gcc.dg/alias-2.c: Adjust.
* gcc.dg/tree-ssa/ssa-dse-17.c: New testcase.

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

9 years agolibstdc++: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:51:03 +0000 (10:51 +0000)]
libstdc++: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/c++11/Makefile.in: Likewise.
* src/c++98/Makefile.in: Likewise.
* src/filesystem/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.

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

9 years agointl: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:37:11 +0000 (10:37 +0000)]
intl: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

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

9 years agofixincludes: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:35:20 +0000 (10:35 +0000)]
fixincludes: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

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

9 years agogcc: Bump to automake 1.11.6
haubi [Wed, 13 May 2015 10:32:56 +0000 (10:32 +0000)]
gcc: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
* aclocal.m4: Regenerated with automake-1.11.6.

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

9 years agoline-map.h: move linemap_assert and friends higher up within the file
dmalcolm [Wed, 13 May 2015 10:24:30 +0000 (10:24 +0000)]
line-map.h: move linemap_assert and friends higher up within the file

libcpp/ChangeLog:
* include/line-map.h (linemap_assert): Move up within the file to
before all of the map accessor macros.
(linemap_assert_fails): Likewise.
(linemap_check_ordinary): Likewise.
(linemap_macro_expansion_map_p): Likewise.

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

9 years agoGimplify va_arg ap based on do_deref
vries [Wed, 13 May 2015 09:06:18 +0000 (09:06 +0000)]
Gimplify va_arg ap based on do_deref

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

PR tree-optimization/66010
* gimplify.h (gimplify_va_arg_internal): Remove declaration.
* gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
* tree-stdarg.c (expand_ifn_va_arg_1): ... here.  Choose between lval
and rval based on do_deref.

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

9 years agogcc/
ienkovich [Wed, 13 May 2015 08:29:14 +0000 (08:29 +0000)]
gcc/

PR target/65103
* config/i386/i386.c (ix86_rtx_costs): We want to propagate
link time constants into adress expressions and therefore set
their cost to 0.

gcc/testsuite/

PR target/65103
* gcc.target/i386/pr65103-3.c: New.

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

9 years agoFix test case.
marxin [Wed, 13 May 2015 08:24:04 +0000 (08:24 +0000)]
Fix test case.

* g++.dg/ipa/pr65557.C: Remove unnecessary dump flag.

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

9 years ago PR target/66112
jakub [Wed, 13 May 2015 08:09:01 +0000 (08:09 +0000)]
PR target/66112
* config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
Use SWI248 iterator instead of SWI.
(*mulv<mode>4_1): Use SWI48 instead of SWI.  Simplify output template.
Use eq_attr "alternative" "0" instead of match_test in
length_immediate attribute computation.
(*mulvhi4, *mulvhi4_1): New define_insns.

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

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

9 years ago PR target/66112
jakub [Wed, 13 May 2015 08:07:58 +0000 (08:07 +0000)]
PR target/66112
* internal-fn.c (get_min_precision): Use UNSIGNED instead of
SIGNED to get precision of non-negative value.

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

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

9 years agogcc/
ienkovich [Wed, 13 May 2015 07:49:59 +0000 (07:49 +0000)]
gcc/

PR target/66048
* function.c (diddle_return_value_1): Process bounds first.
* config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
register.

gcc/testsuite/

PR target/66048
* gcc.target/i386/mpx/pr66048.cc: New.

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

9 years ago2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Wed, 13 May 2015 05:39:14 +0000 (05:39 +0000)]
2015-05-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR rtl-optimization/64616
    * loop-invariant.c (can_move_invariant_reg): New.
    (move_invariant_reg): Call above new function to decide whether
    instruction can just be moved, skipping creation of temporary
    register.

    gcc/testsuite/
    PR rtl-optimization/64616
    * gcc.dg/loop-8.c: New test.
    * gcc.dg/loop-9.c: New test.

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

9 years ago PR target/pr66047.c
hubicka [Wed, 13 May 2015 03:35:09 +0000 (03:35 +0000)]
PR target/pr66047.c
* i386.c (ix86_function_sseregparm): Only return -1 if local function
with implied regparm is called from -mno-sse function.
(init_cumulative_args): Output error if ix86_function_sseregparm
return -1 and SSE register would be needed.
(function_arg_advance_32): Likewise.
(function_arg_32): Likewise.
* i386.h (ix86_args): Add decl field.
* gcc.target/i386/pr66047.c: New testcase.

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

9 years ago PR ipa/65873
hubicka [Wed, 13 May 2015 02:57:27 +0000 (02:57 +0000)]
PR ipa/65873
* ipa-inline.c (can_inline_edge_p): Allow early inlining of always
inlines across optimization boundary.
* testsuite/gcc.c-torture/compile/pr65873.c: New testcase.

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

9 years ago PR ipa/65873
hubicka [Wed, 13 May 2015 02:54:50 +0000 (02:54 +0000)]
PR ipa/65873
* ipa-inline.c (can_inline_edge_p): Allow early inlining of always
inlines across optimization boundary.

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

9 years agogcc/
jason [Wed, 13 May 2015 01:11:13 +0000 (01:11 +0000)]
gcc/
* config/mmix/mmix.c, config/msp430/msp430.c: Add space between
string literal and macro name.
gcc/ada/
* sigtramp-vxworks.c: Add space between string literal and macro
name.

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

9 years agoDaily bump.
gccadmin [Wed, 13 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
sje [Tue, 12 May 2015 22:58:39 +0000 (22:58 +0000)]
* config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
* config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
* config/mips/predicates.md (const_immlsa_operand): Remove log call.

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

9 years agocompiler: If unary & does not escape, the var does not escape.
ian [Tue, 12 May 2015 22:13:01 +0000 (22:13 +0000)]
compiler: If unary & does not escape, the var does not escape.

If we have a unary & that takes the address of a variable, do
not force the variable to escape if the unary & does not
escape.

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

9 years ago2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 12 May 2015 21:12:55 +0000 (21:12 +0000)]
2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66111
* frontend-passes.c (has_dimen_vector_ref):  New function.
(inline_matmul_assign):  Use it to return early in case
of unhandled vector subscripts.

2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66111
* gfortran.dg/inline_matmul_10.f90:  New test.

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

9 years agoImplement -Wmisleading-indentation
dmalcolm [Tue, 12 May 2015 20:57:38 +0000 (20:57 +0000)]
Implement -Wmisleading-indentation

gcc/ChangeLog:
* doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
(-Wmisleading-indentation): New option.
* Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.

gcc/c-family/ChangeLog:
* c-common.h (warn_for_misleading_indentation): New prototype.
* c-indentation.c: New file.
* c.opt (Wmisleading-indentation): New option.

gcc/c/ChangeLog:
* c-parser.c (c_parser_if_body): Add param "if_loc", use it
to add a call to warn_for_misleading_indentation.
(c_parser_else_body): Likewise, adding param "else_loc".
(c_parser_if_statement): Check for misleading indentation.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.

gcc/cp/ChangeLog:
* parser.c (cp_parser_selection_statement): Add location and
guard_kind arguments to calls to
cp_parser_implicitly_scoped_statement.
(cp_parser_iteration_statement): Likewise for calls to
cp_parser_already_scoped_statement.
(cp_parser_implicitly_scoped_statement): Add "guard_loc" and
"guard_kind" params; use them to warn for misleading
indentation.
(cp_parser_already_scoped_statement): Likewise.

gcc/testsuite/ChangeLog:
* c-c++-common/Wmisleading-indentation.c: New testcase.
* c-c++-common/Wmisleading-indentation-2.c: New testcase.
* c-c++-common/Wmisleading-indentation-2.md: New file.

libcpp/ChangeLog:
* directives.c (do_line): Set seen_line_directive on line_table.
(do_linemarker): Likewise.
* include/line-map.h (struct line_maps): Add new field
"seen_line_directive".

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

9 years ago * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
uros [Tue, 12 May 2015 20:05:23 +0000 (20:05 +0000)]
* config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
* config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
(alpha_extract_integer): Ditto.
(alpha_legitimate_constant_p): Ditto.
(alpha_split_tmode_pair): Ditto.
(alpha_preferred_reload_class): Add CONST_WIDE_INT.
(alpha_expand_mov): Ditto.
(print_operand): Remove handling of 'H' modifier.
<case 'm'>: Remove CONST_DOUBLE handling.
(summarize_insn): Handle CONST_WIDE_INT.
* config/alpha/alpha.md (*andsi_internal): Remove H constraint.
(anddi3): Ditto.
(movti): Handle CONST_WIDE_INT.
* config/alpha/constraints.md ('H'): Remove constraint definition.
('G'): Do not match MODE_FLOAT class.
* config/alpha/predicates.md (const0_operand): Also match
const_wide_int.
(non_add_const_operand): Ditto.
(non_zero_const_operand): Ditto.
(some_operand): Ditto.
(input_operand): Ditto.  Handle CONST_WIDE_INT.
(and_operand): Do not match const_double.
* config/alpha/sync.md (fetchop_constr): Remove H constraint.

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

9 years ago2015-05-12 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 12 May 2015 20:01:47 +0000 (20:01 +0000)]
2015-05-12  Andrew MacLeod  <amacleod@redhat.com>

PR target/65697
* coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
(enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
is_mm_seq_cst, is_mm_sync): New accessor functions.
* builtins.c (expand_builtin_sync_operation,
expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
(expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
(get_memmodel,  expand_builtin_atomic_compare_exchange,
expand_builtin_atomic_load, expand_builtin_atomic_store,
expand_builtin_atomic_clear): Use new accessor routines.
(expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
* optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
(maybe_emit_sync_lock_test_and_set): Use new accessors and
MEMMODEL_SYNC_ACQUIRE.
(expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
(expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
expand_atomic_store): Use new accessors.
* emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
* tsan.c (instrument_builtin_call): Update check for memory model beyond
final enum to use MEMMODEL_LAST.
* c-family/c-common.c: Use new accessor for memmodel_base.
* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
accessors.
* config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
mem_thread_fence, *dmb): Likewise.
* config/alpha/alpha.c (alpha_split_compare_and_swap,
alpha_split_compare_and_swap_12): Likewise.
* config/arm/arm.c (arm_expand_compare_and_swap,
arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
* config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
atomic_loaddi): Likewise.
* config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
Likewise.
* config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
* config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
use new accessors.
* config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
atomic_store<mode>, atomic_compare_and_swap<mode>,
atomic_exchange<mode>): Use new accessors.
* config/mips/mips.c (mips_process_sync_loop): Likewise.
* config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
rs6000_post_atomic_barrier): Add new cases.
(rs6000_expand_atomic_compare_and_swap): Use new accessors.
* config/rs6000/sync.md (mem_thread_fence): Add new cases.
(atomic_load<mode>): Add new cases and use new accessors.
(store_quadpti): Add new cases.
* config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
accessors.
* config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
* doc/extend.texi: Update docs to indicate 16 bits are used for memory
model, not 8.

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

9 years ago * ipa-devirt.c (type_with_linkage_p): New function.
hubicka [Tue, 12 May 2015 18:30:40 +0000 (18:30 +0000)]
* ipa-devirt.c (type_with_linkage_p): New function.
(type_in_anonymous_namespace_p): Move here from tree.c; assert that
type has linkage.
(odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
(can_be_name_hashed_p): Simplify.
(hash_odr_name): Check that type has linkage before checking if it is
anonymous.
(types_same_for_odr): Likewise.
(odr_name_hasher::equal): Likewise.
(odr_subtypes_equivalent_p): Likewise.
(warn_types_mismatch): Likewise.
(get_odr_type): Likewise.
(odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
* ipa-utils.h (odr_type_p): Move offline.
* tree.c (need_assembler_name_p): Fix handling of types
without linkages.
(type_in_anonymous_namespace_p): Move to ipa-devirt.c

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

9 years agoMove global state in timevar.c to a new "timer" class
dmalcolm [Tue, 12 May 2015 17:29:32 +0000 (17:29 +0000)]
Move global state in timevar.c to a new "timer" class

gcc/ChangeLog:
* timevar.c (timevar_enable): Delete in favor of...
(g_timer): New global.
(struct timevar_def): Move to timevar.h inside class timer.
(struct timevar_stack_def): Likewise.
(timevars): Delete global in favor of field "m_timevars" within
class timer in timevar.h
(stack): Likewise, in favor of field "m_stack".
(unused_stack_instances): Likewise, in favor of field
"m_unused_stack_instances".
(start_time): Likewise, in favor of field "m_start_time".
(get_time): Eliminate check for timevar_enable.
(timer::timer): New function, built from part of timevar_init.
(timevar_init): Rewrite idempotency test from using
"timevar_enable" bool to using dynamic allocation of "g_timer".
Move rest of implementation into timer's constructor.
(timevar_push_1): Rename to...
(timer::push): ...this, adding "m_" prefixes to variables that
are now fields of timer.
(timevar_pop_1): Likewise, rename to...
(timer::pop): ...this, and add "m_" prefixes.
(timevar_start): Replace test for "timevar_enable" with one for
"g_timer", and move bulk of implementation to...
(timer::start): ...here, adding "m_" prefixes.
(timevar_stop): Likewise, from here...
(timer::stop): ...to here.
(timevar_cond_start): Likewise, from here...
(timer::cond_start): ...to here.
(timevar_cond_stop): Likewise, from here...
(timer::cond_stop): ...to here.
(validate_phases): Rename to...
(timer::validate_phases): ...this, and add "m_" prefixes.  Make
locals "total" and "tv" const.
(timevar_print): Rename to...
(timer::print): ...this, and add "m_" prefixes.  Make locals
"total" and "tv" const.  Eliminate test for timevar_enable.
* timevar.h (timevar_enable): Eliminate.
(g_timer): New declaration.
(timevar_push_1): Eliminate.
(timevar_pop_1): Eliminate.
(timevar_print): Eliminate.
(class timer): New class.
(timevar_push): Rewrite to use g_timer.
(timevar_pop): Likewise.
* toplev.c (toplev::~toplev): Likewise.

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

9 years agoUnbreak the JIT after conversion of md_asm_adjust to use vec<>
dmalcolm [Tue, 12 May 2015 17:19:54 +0000 (17:19 +0000)]
Unbreak the JIT after conversion of md_asm_adjust to use vec<>

gcc/jit/ChangeLog:
* jit-builtins.c: Include vec.h before target.h.

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

9 years ago * arm-protos.h (arm_sched_autopref): Delete.
rearnsha [Tue, 12 May 2015 16:39:19 +0000 (16:39 +0000)]
* arm-protos.h (arm_sched_autopref): Delete.
(tune_params): Re-organize, use enums for flag values.
(FUSE_OPS): New macro.
* arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
(ARM_PREFETCH_BENEFICIAL): Likewise.
(ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
(arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
(arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
(arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
(arm_cortex_a57_tune,  arm_xgene1_tune, arm_cortex_a5_tune)
(arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
(arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
format.
(arm_option_override, thumb2_reorg, arm_print_tune_info)
(aarch_macro_fusion_pair_p): Update uses of current_tune.
* arm.h (LOGCIAL_OP_NON_SHORT_CIRCUIT): Likewise.

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

9 years agocheck_GNU_style.sh: Fix tab size in 80 characters check
vries [Tue, 12 May 2015 16:23:38 +0000 (16:23 +0000)]
check_GNU_style.sh: Fix tab size in 80 characters check

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh (col): Fix tab size.

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

9 years agocheck_GNU_style.sh: Put stdin into temp file
vries [Tue, 12 May 2015 16:23:29 +0000 (16:23 +0000)]
check_GNU_style.sh: Put stdin into temp file

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Put stdin into a temp file.

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

9 years agocheck_GNU_style.sh: Read either from stdin, or from files
vries [Tue, 12 May 2015 16:23:19 +0000 (16:23 +0000)]
check_GNU_style.sh: Read either from stdin, or from files

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Read either from stdin, or from files.

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

9 years agocheck_GNU_style.sh: Check file presence
vries [Tue, 12 May 2015 16:23:11 +0000 (16:23 +0000)]
check_GNU_style.sh: Check file presence

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Check if files exists.

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

9 years agocheck_GNU_style.sh: Don't use filename prefix for one patch
vries [Tue, 12 May 2015 16:23:03 +0000 (16:23 +0000)]
check_GNU_style.sh: Don't use filename prefix for one patch

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Don't use a filename prefix if we're only
processing one patch file.

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

9 years ago2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
sandra [Tue, 12 May 2015 16:10:21 +0000 (16:10 +0000)]
2015-05-12 Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
"break".

gcc/testsuite/
* gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of
"break".
* gcc.target/nios2/nios2-stack-check-1.c: Likewise.

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

9 years ago2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
sandra [Tue, 12 May 2015 15:57:22 +0000 (15:57 +0000)]
2015-05-12  Chung-Lin Tang  <cltang@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
value.
(REG_CLASS_NAMES): Add "IJMP_REGS".
(REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
* config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
use new "c" register constraint.
* config/nios2/constraint.md (c): New register constraint
corresponding to IJMP_REGS.

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

9 years ago2015-05-12 Yury Gribov <y.gribov@samsung.com>
ygribov [Tue, 12 May 2015 15:31:02 +0000 (15:31 +0000)]
2015-05-12  Yury Gribov  <y.gribov@samsung.com>

* mklog: Ignore preprocessor directives.

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

9 years ago * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
charlet [Tue, 12 May 2015 15:20:38 +0000 (15:20 +0000)]
    * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups

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

9 years ago * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
charlet [Tue, 12 May 2015 15:19:25 +0000 (15:19 +0000)]
    * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups

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

9 years agoFix typo.
charlet [Tue, 12 May 2015 15:18:16 +0000 (15:18 +0000)]
Fix typo.

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

9 years ago2015-05-12 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 12 May 2015 15:13:06 +0000 (15:13 +0000)]
2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specifications): Additional
legality checks for array and container iterators:
a) The domain of iteration cannot be a component that depends
on discriminants of a mutable object. The check was recently
added for element iterators.
b) The cursor type cannot be a limited type at the point of the
iteration, because the cursor will be assigned to in the body
of the loop.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Record_Type): Make sure that if we have
aspect Iterator_Element, then we have either Constant_Indexing
or Variable_Indexing.

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

9 years ago2015-05-12 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 12 May 2015 15:11:29 +0000 (15:11 +0000)]
2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type,
and Reference_Control_Type to support element iterators over
ordered multisets.
* a-ciormu.ads, a-ciormu.adb: Ditto for
indefinite_ordered_multisets.

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_N_Expression_With_Actions): Force
the evaluation of the EWA expression.  Code cleanup.
(Process_Transient_Object): Code cleanup.
* exp_util.adb (Is_Aliased): Controlled transient objects found
within EWA nodes are not aliased.
(Is_Finalizable_Transient): Iterators are not finalizable transients.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 15:07:01 +0000 (15:07 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
Don't allow Atomic and Volatile_Full_Access for the same entity.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Implement new
semantics and safety checks specified in AI12-0151.

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

9 years ago2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com>
charlet [Tue, 12 May 2015 15:00:49 +0000 (15:00 +0000)]
2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>

* sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs
for subunit in generic units.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_A_Call): Avoid checking internal call
from Valid_Scalars

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): An untagged incomplete type
is legal in the profile of a null procedure.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
the checks on a derived formal whose parent type is a previous
formal that is not a derived type.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access
* einfo.adb (Has_Volatile_Full_Access): New flag.
(Has_Volatile_Full_Access): New flag.
* einfo.ads (Has_Volatile_Full_Access): New flag.
* par-prag.adb: Add dummy entry for Volatile_Full_Access.
* sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access):
Implement new pragma.
* snames.ads-tmpl: Add entries for pragma Volatile_Full_Access.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* targparm.ads: Minor reformatting.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0.
* a-reatim.ads: Minor reformatting.

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

9 years ago * libgcov-util.c: Add space between string literal and macro name.
uros [Tue, 12 May 2015 14:40:49 +0000 (14:40 +0000)]
* libgcov-util.c: Add space between string literal and macro name.

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

9 years ago * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
segher [Tue, 12 May 2015 13:55:46 +0000 (13:55 +0000)]
* config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
*rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
define_splits): Delete, revamp, transmogrify into ...
(*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
*ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
*lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
New.

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

9 years ago * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
segher [Tue, 12 May 2015 13:49:21 +0000 (13:49 +0000)]
* config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.

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

9 years ago * config/rs6000/rs6000.md (extzv): FAIL for SImode.
segher [Tue, 12 May 2015 13:47:04 +0000 (13:47 +0000)]
* config/rs6000/rs6000.md (extzv): FAIL for SImode.
(extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
*rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
*rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
*rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
*rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
*lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
*lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
*lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
*lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
*rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
*rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
*rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
*rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
*rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
*rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
and 30 corresponding splitters): Delete.

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

9 years ago * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
segher [Tue, 12 May 2015 13:44:25 +0000 (13:44 +0000)]
* config/rs6000/rs6000.md (define_split for bswaphi): Don't use
zero_extract.

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

9 years ago2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 12 May 2015 13:44:19 +0000 (13:44 +0000)]
2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.ads: Update the documentation of flags
Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* impunit.adb: Add entry for a-dhfina.ads
* a-dhfina.ads: New file.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
type has convention Fortran, a multidimensional iterator varies
the first dimension fastest.

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

9 years ago * combine.c (recog_for_combine_1): New function, factored out
segher [Tue, 12 May 2015 13:42:21 +0000 (13:42 +0000)]
* combine.c (recog_for_combine_1): New function, factored out
from recog_for_combine.
(change_zero_ext): New function.
(recog_for_combine): If recog fails, try again with the pattern
modified by change_zero_ext; if that still fails, restore the
pattern.

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

9 years ago * combine.c (get_undo_marker): New function.
segher [Tue, 12 May 2015 13:37:53 +0000 (13:37 +0000)]
* combine.c (get_undo_marker): New function.
(undo_to_marker): New function, largely factored out from ...
(undo_all): ... this.  Adjust.

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

9 years ago2015-05-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 May 2015 13:28:33 +0000 (13:28 +0000)]
2015-05-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66101
* tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
fixup if we turn a loop exit edge to a fallthru edge.

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

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

9 years ago2015-05-12 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 12 May 2015 12:47:19 +0000 (12:47 +0000)]
2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Node32 is now used as Encapsulating_State.
Node37 is now used as Associated_Entity.
(Associated_Entity): New routine.
(Encapsulating_State): Update the assertion guard
to include constants.
(Set_Associated_Entity): New routine.
(Set_Encapsulating_State): Update the assertion guard to
include constants.
(Write_Field10_Name): Remove the output for Encapsulating_State.
(Write_Field32_Name): Add output for Encapsulating_State.
(Write_Field37_Name): Add output for Associated_Entity.
* einfo.ads New attribute Associated_Entity along with placement
in entities. Attribute Encapsulating_State now uses Node32.
(Associated_Entity): New routine along with pragma Inline.
(Set_Associated_Entity): New routine along with pragma Inline.
* inline.ads Code reformatting.
* sem_attr.adb (Analyze_Attribute): Correct the prefix of
attribute 'Result when the context is a generic instantiation.
(Analyze_Attribute_Old_Result): Pragmas Depends and
Refined_Depends are a valid context for attribute 'Result.
(Denote_Same_Function): Allow attribute 'Result to denote
generic functions.
* sem_ch3.adb Add with and use clauses for Sem_Ch12.
(Analyze_Declarations): Capture global references within the
contracts of packages, subprograms and their respective bodies.
* sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
(Analyze_Completion_Contract): Removed.
(Analyze_Generic_Subprogram_Body): Enchange the aspects after
creating the generic copy. Create a generic contract for the
template. Analyze the aspects of the generic body. Analyze the
contract of the generic body when it is a compilation unit and
capture global references.
(Analyze_Subprogram_Body_Contract): Code cleanup.
(Analyze_Subprogram_Contract): Do not save global references here.
(Save_Global_References_In_List): Removed.
* sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
(Analyze_Package_Body_Helper): Create a generic contract for
the template.
(Analyze_Package_Contract): Code cleanup.
* sem_ch10.adb Add with and use clauses for Sem_Ch12.
(Analyze_Compilation_Unit): Capture global references in a
generic subprogram declaration that acts as a compilation unit.
* sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
the implementation of generic contracts. Alphabetize various
subprograms.
(Analyze_Generic_Package_Declaration):
Create a generic contract for the template.
(Analyze_Generic_Subprogram_Declaration): Create a generic
contract for the template.
(Analyze_Subprogram_Instantiation): Instantiate the contract of the
subprogram.
(Copy_Generic_Node): Link defining entities of the generic template
with the corresponding defining entities of the generic copy. Update
the processing of pragmas.
(Instantiate_Contract): Removed.
(Instantiate_Subprogram_Contract): New routine.
(Requires_Delayed_Save): New routine.
(Save_Global_References): Rename formal parameter N to Templ. Various
cleanups.
(Save_Global_References_In_Aspects): Moved from the spec.
(Save_Global_References_In_Contract): New routine.
(Save_References_In_Aggregate): New routine.
(Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
(Save_References_In_Descendants): New routine.
(Save_References_In_Identifier): New routine.
(Save_References_In_Operator): New routine.
(Save_References_In_Pragma): New routine.
* sem_ch12.ads (Save_Global_References): Rename formal
parameter N to Templ. Update the comment on usage.
(Save_Global_References_In_Aspects): Moved to the body.
(Save_Global_References_In_Contract): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
New routine.
* sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
New routine.
* sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
generic parameters.
(Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
(Analyze_Depends_Global): New routine.
(Analyze_Depends_In_Decl_Part): Code cleanup.
(Analyze_Global_In_Decl_Part): Code cleanup.
(Analyze_Global_Item): Constants are now valid global items. Do
not perform state-related checks in an instance. Change the way
renamings are handled. (Analyze_Initial_Condition_In_Decl_Part):
Code cleanup.
(Analyze_Initializes_In_Decl_Part): Code cleanup.
(Analyze_Input_Output): The analysis of attribute 'Result in
the context of pragmas Depends or Refined_Depends now reuses
the existing attribute analysis machinery. Constants and
generic parameters are now valid dependency items. Do not
perform state-related checks in an instance. Change the way
renamings are handled. (Analyze_Pragma): Add a "characteristics"
section for pragmas Abstract_State, Contract_Cases, Depends,
Extensions_Visible, Global, Initial_Condition, Initializes,
Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
(Analyze_Pre_Post_Condition): Do not create a generic
template here.
(Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
(Analyze_Refined_Depends_Global_Post): New routine.
(Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
(Analyze_Refined_Global_In_Decl_Part): Code cleanup.
(Analyze_Refined_Pragma): Removed.
(Analyze_Refined_State_In_Decl_Part): Code cleanup.
(Analyze_Test_Case_In_Decl_Part): Code cleanup.
(Check_Dependency_Clause): Do not perform this check in an instance.
(Check_Function_Return): Add support for generic functions.
(Check_In_Out_States): Do not perform this check in an instance.
(Check_Input_States): Do not perform this check in an instance.
(Check_Mode_Restriction_In_Function): Add support for generic functions.
(Check_Output_States): Do not perform this check in an instance.
(Check_Postcondition_Use_In_Inlined_Subprogram): Rename
parameter Subp_Id to Spec_Id and update comment on usage.
(Check_Proof_In_States): Do not perform this check in an instance.
(Check_Refined_Global_Item): Add support for constants.
(Check_Refined_Global_List): Do not perform this check in an instance.
(Collect_Global_Items): Reimplemented.
(Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
(Create_Generic_Template): Removed.
(Find_Related_Package_Or_Body): Moved to spec.
(Find_Role): Add support for generic parameters and constants.
(Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
(Match_Item): Add support for constants.
(Preanalyze_Test_Case_Arg): Reimplemented.
(Report_Extra_Clauses): Do not perform this check in an instance.
(Report_Extra_Constituents): Do not perform this check in an instance.
* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
the comment on usage.
(Find_Related_Package_Or_Body): Moved from body.
(Get_Argument): Moved from body.
* sem_util.adb Add with and use clauses for Sem_Ch12.
(Corresponding_Spec_Of): Add support for packages and package bodies.
(Create_Generic_Contract): New routine.
(Is_Contract_Annotation): Reimplemented.
(Is_Generic_Declaration_Or_Body): New routine.
(Is_Package_Contract_Annotation): New routine.
(Is_Subprogram_Contract_Annotation): New routine.
* sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
(Create_Generic_Contract): New routine.
(Is_Generic_Declaration_Or_Body): New routine.
(Is_Package_Contract_Annotation): New routine.
(Is_Subprogram_Contract_Annotation): New routine.
* sinfo.adb (Is_Generic_Contract_Pragma): New routine.
(Set_Is_Generic_Contract_Pragma): New routine.
* sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
with occurrences in nodes.
(Is_Generic_Contract_Pragma): New routine along with pragma Inline.
(Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
* treepr.adb (Print_Entity_Info): Output fields 36 to 41.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* a-taster.ads: Minor comment fix: fix bad header, this is a
pure RM unit.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 12:42:48 +0000 (12:42 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_intr.adb: (Check_Shift): Diagnose bad modulus value.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
Alignment_Checks on non-strict alignment machine.
* sem_ch13.adb (Validate_Address_Clauses): Don't give
compile-time alignment warnings if run time Alignment_Check
is suppressed.

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

9 years ago2015-05-12 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 12 May 2015 12:39:52 +0000 (12:39 +0000)]
2015-05-12  Thomas Quinot  <quinot@adacore.com>

* g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
Data_Rate): New literals B75, B110, B150, B300, B600.

2015-05-12  Doug Rupp  <rupp@adacore.com>

* init.c (__gnat_init_float) [vxworks]: For e500v2,
do nothing and leave the responsibility to install the handler
and enable the exceptions to the BSP.

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

9 years ago2015-05-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 May 2015 11:55:40 +0000 (11:55 +0000)]
2015-05-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/37021
* tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
(SLP_TREE_TWO_OPERATORS): New define.
* tree-vect-slp.c (vect_create_new_slp_node): Initialize
SLP_TREE_TWO_OPERATORS.
(vect_build_slp_tree_1): Allow two mixing plus/minus in an
SLP node.
(vect_build_slp_tree): Adjust.
(vect_analyze_slp_cost_1): Likewise.
(vect_schedule_slp_instance): Vectorize mixing plus/minus by
emitting two vector stmts and mixing the results.

* gcc.target/i386/vect-addsub.c: New testcase.

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

9 years agoRemove dead code in print_z_candidates.
krebbel [Tue, 12 May 2015 11:27:52 +0000 (11:27 +0000)]
Remove dead code in print_z_candidates.

2015-05-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* call.c (print_z_candidates): Remove dead code.

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

9 years ago2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
krebbel [Tue, 12 May 2015 11:23:48 +0000 (11:23 +0000)]
2015-05-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
and zEC12_simple_fp.
* config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
to 1.

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

9 years ago * gcc.target/i386/pr65753.c: Use -O2 instead of -O.
amonakov [Tue, 12 May 2015 10:36:42 +0000 (10:36 +0000)]
* gcc.target/i386/pr65753.c: Use -O2 instead of -O.

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

9 years agoDon't take address of ap unless necessary
vries [Tue, 12 May 2015 09:46:47 +0000 (09:46 +0000)]
Don't take address of ap unless necessary

2015-05-12  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66010
* gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
ifn_va_arg.
* gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
(gimplify_va_arg_internal): Remove loc parameter.  Assert no array-typed
va_lists are passed, and remove corresponding handling.
(gimplify_va_arg_expr): Only take address of ap if necessary.  Add
do_deref argument to ifn_va_arg.
* tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
ifn_va_arg.

* c-common.c (build_va_arg): Don't mark ap addressable unless necessary.

* gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 09:28:19 +0000 (09:28 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting.
* sem_disp.adb: Minor code reorganization (remove junk redundant
null statement).
* exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel
references to bounds of types coming from original type reference.
* checks.ads: Minor reformatting.
* checks.adb: Minor reformatting.
* sem_prag.adb (Analyze_Pragma, case Check): If in ignored
assertion, then make sure we do not drag in bignum stuff.

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

9 years ago2015-05-12 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 12 May 2015 09:20:50 +0000 (09:20 +0000)]
2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb (Collect_Interfaces): Initialize
Direct_Primitive_Operations for a tagged synchronized type,
so it can used in ASIS mode.
* sem_disp.adb (Check_Dispatching_Operation): If expansion is
disabled, attach subprogram to list of Direct_Primitive_Operations
of synchronized type itself, for ASIS use, because in this case
Corresponding_Record_Type is not built.
* einfo.ads: Indicate use of Direct_Primitive_Operations on
synchronized type.

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

9 years ago2015-05-12 Pierre-Marie de Rodat <derodat@adacore.com>
charlet [Tue, 12 May 2015 09:17:45 +0000 (09:17 +0000)]
2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>

* exp_pakd.adb: Make clearer the comment in exp_pakd.adb about
___XP suffixes.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Visit_Node): Deal with subprogram and package stubs.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* exp_intr.adb (Expand_Dispatching_Constructor_Call): The
tag to be retrieved for the generated call is the first entry
in the dispatch table for the return type of the instantiated
constructor.

2015-05-12  Bob Duff  <duff@adacore.com>

* exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb,
exp_util.ads: Update comments.

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

9 years ago[ARM] Fix PR 65955: Do not take REGNO on non-REG operand in movcond_addsi
ktkachov [Tue, 12 May 2015 09:15:09 +0000 (09:15 +0000)]
[ARM] Fix PR 65955: Do not take REGNO on non-REG operand in movcond_addsi

PR target/65955
* config/arm/arm.md (movcond_addsi): Check that operands[2] is a
REG before taking its REGNO.

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

9 years ago2015-05-12 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 12 May 2015 09:14:02 +0000 (09:14 +0000)]
2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate
freeze nodes for these in ASIS mode, because they lead to
elaoration order issues in gigi.

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Code
cleanup. Use Copy_Subprogram_Spec to create a proper spec.
(Analyze_Subprogram_Body_Helper): Code cleanup. Do not
prepare a stand alone body for inlining in GNATprove mode
when inside a generic. (Body_Has_Contract): Reimplemented.
(Build_Subprogram_Declaration): New routine.
* sem_ch10.adb (Analyze_Compilation_Unit): Capture global
references within generic bodies by loading them.
* sem_util.adb (Copy_Parameter_List): Code cleanup.
(Copy_Subprogram_Spec): New routine.
(Is_Contract_Annotation): New routine.
* sem_util.ads (Copy_Subprogram_Spec): New routine.
(Is_Contract_Annotation): New routine.

2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Resolve_Attribute): Do not analyze the generated
body of an expression function when the prefix of attribute
'Access is the body.

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

9 years ago2015-05-12 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 12 May 2015 09:03:04 +0000 (09:03 +0000)]
2015-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65133
* g++.dg/cpp0x/trailing10.C: New.

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

9 years ago2015-05-12 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 12 May 2015 08:54:42 +0000 (08:54 +0000)]
2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base
created for a derived enumeration type is not a first subtype,
even though it is defined through a full type declaration.
* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process
aspects for the anonymous base type constructed for a derived
scalar type, because they will be set when the first subtype
is frozen.
(Inherit_Aspects_At_Freeze_Point): Fix typos on handling of
Default_Value and Default_Component_Value, that prevented the
proper inheritance of these aspects.

2015-05-12  Gary Dismukes  <dismukes@adacore.com>

* exp_ch6.adb, exp_unst.adb: Minor typo fixes.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 08:36:45 +0000 (08:36 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting.

2015-05-12  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with
-P, then check if gprbuild (gprclean) is available; if it is,
use gprbuild (gprclean) instead of gnatmake (gnatclean).

2015-05-12  Robert Dewar  <dewar@adacore.com>

* debug.adb: Add flag -gnatd.3 to output diagnostic info from
Exp_Unst.
* einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by
Exp_Unst.
* exp_ch6.adb (Unest_Bodies): Table for delayed calls to
Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table
for later call instead of calling Unnest_Subprogram directly
(Initialize): New procedure (Unnest_Subprograms): New procedure
* exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper
alpha order.
(Initialize): New procedure.
(Unnest_Subprograms): New procedure.
* exp_unst.adb (Unnest_Subprogram): Major rewrite, moving
all processing to this routine which is now called late
after instantiating bodies. Fully handles the case of generic
instantiations now.
* exp_unst.ads: Major rewrite, moving all processing to
Unnest_Subprogram.
* frontend.adb (Frontend): Add call to Exp_Ch6.Initialize.
(Frontend): Add call to Unnest_Subprograms.
* sem_ch8.adb (Find_Direct_Name): Back to old calling sequence
for Check_Nested_Access.
* sem_util.adb (Build_Default_Subtype): Minor reformatting
(Check_Nested_Access): Back to original VM-only form (we
now do all the processing for Unnest_Subprogram at the time
it is called.
(Denotes_Same_Object): Minor reformatting
(Note_Possible_Modification): Old calling sequence for
Check_Nested_Access.
* sem_util.ads (Check_Nested_Access): Back to original VM-only
form (we now do all the processing for Unnest_Subprogram at the
time it is called.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 08:34:04 +0000 (08:34 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting.

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

9 years ago2015-05-12 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 12 May 2015 08:25:39 +0000 (08:25 +0000)]
2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): New function
Has_Delayed_Aspect, used to defer resolution of an aggregate
expression when the object declaration carries aspects Address
and/or Alignment.
* freeze.adb (Freeze_Object_Declaration): New subsidiary procedure
to Freeze_Entity.  In addition to the previous processing steps
at the freeze point of an object, this procedure also handles
aggregates in object declarations, when the declaration carries
delayed aspects that require that the initialization of the
object be attached to its freeze actions.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Declaration): Following
AI12-0147, null procedures and expression functions are allowed
in protected bodies.

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

9 years ago2015-05-12 Tristan Gingold <gingold@adacore.com>
charlet [Tue, 12 May 2015 08:21:47 +0000 (08:21 +0000)]
2015-05-12  Tristan Gingold  <gingold@adacore.com>

* i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): Propagate
Has_Delayed_Aspects flag from private to full view, to ensure
that predicate functions are constructed.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): If a tagged formal is an
incomplete class-wide type, the subprogram must have a delayed
freeze even though the opertation is not a primitive of the
type. THis ensures that the backend can recover the full view
when elaborating the subprogram declaration.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Get_Current_Value_Condition): Nothing to be
done if an elsif part has been rewritten so that it is not part
of an enclosing if_statement.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 08:13:39 +0000 (08:13 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
Minor reformatting.

2015-05-12  Bob Duff  <duff@adacore.com>

* exp_attr.adb (Size): Remove unnecessary check for types with
unknown discriminants. That was causing the compiler to build
a function call _size(T), where T is a type, not an object.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
primitive operations of a type extension declared in the package
body, to prevent duplicates in extended list.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Component_Declaration): If the component is
an unconstrained synchronized type with discriminants, create a
constrained default subtype for it, so that the enclosing record
can be given the proper size.
* sem_util.adb (Build_Default_Subtype): If the subtype is created
for a record discriminant, do not analyze the declarztion at
once because it is added to the freezing actions of the enclosing
record type.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 08:11:25 +0000 (08:11 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
Null statements.
* namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
* par-prag.adb (Prag): Implement Ignore_Pragma.
* sem_prag.adb: Implement Ignore_Pragma.
* snames.ads-tmpl: Add entries for pragma Ignore_Pragma.

2015-05-12  Javier Miranda  <miranda@adacore.com>

* sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
entity with its corresponding real entity.
(Decorate_Type): Unconditionally build the class-wide shadow entity of
tagged types.
* einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
attribute.
(Non_Limited_View): Moved from field 17 to field 19 be available
in class-wide entities.
* exp_attr.adb (Access_Cases): Code cleanup.
* exp_disp.adb (Expand_Interface_Actuals): Ditto.
* exp_util.adb (Non_Limited_Designated_Type): Ditto.
* freeze.adb (Build_Renamed_Bdody): Ditto.
* sem_aux.adb (Available_View): Ditto.
* sem_ch4.adb (Analyze_Selected_Component): Ditto.
(Try_One_Prefix_Interpretation): Ditto.
* sem_ch5.adb (Analyze_Assignment): Ditto.
* sem_ch6.adb (Detect_And_Exchange): Ditto.
* sem_ch8.adb (Find_Expanded_Name): Ditto.
* sem_disp.adb (Check_Controlling_Type): Ditto.
* sem_res.adb (Resolve_Type_Conversion): Ditto.
(Full_Designated_Type): Ditto.
* sem_type.adb (Covers): Ditto.
* sem_util.adb: Fix typo in comment.

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

9 years agoMinor reformatting.
charlet [Tue, 12 May 2015 08:08:10 +0000 (08:08 +0000)]
Minor reformatting.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 08:07:41 +0000 (08:07 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Get_Real_Subp): New subprogram.
(Unnest_Subprogram): Use Get_Real_Subp.
(Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
(Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
auxiliary to Try_Primitive_Operation to handle properly prefixed
calls where the operation is not a primitive of the type, but
is declared in the package body that is in the immediate scope
of the type.

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

9 years ago2015-05-12 Robert Dewar <dewar@adacore.com>
charlet [Tue, 12 May 2015 08:03:06 +0000 (08:03 +0000)]
2015-05-12  Robert Dewar  <dewar@adacore.com>

* sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.

2015-05-12  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
qualified name for an instance of a generic grand-child unit in
the body its parent.

2015-05-12  Robert Dewar  <dewar@adacore.com>

* exp_unst.adb (Upref_Name): New subprogram.
(Unnest_Subprogram): Use Upref_Name.
(Unnest_Subprogram): Use new Deref attribute.
* exp_unst.ads: Doc updates.

2015-05-12  Thomas Quinot  <quinot@adacore.com>

* adaint.c: Enable Large File Support in adaint so that __gnat_readdir
can access files on filesystems mounted from servers that use large
NFS file handles.

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

9 years ago2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Tue, 12 May 2015 08:01:29 +0000 (08:01 +0000)]
2015-05-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
    rsp->sign_bit_copies and rsp->nonzero_bits into ...
    (update_rsp_from_reg_equal): This.  Also use REG_EQUAL note on src if
    present to get more accurate information about the number of sign bit
    copies and non zero bits.

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

9 years ago2015-05-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 May 2015 07:40:00 +0000 (07:40 +0000)]
2015-05-12  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
do not allow unrolling.

* gcc.dg/vect/bb-slp-35.c: New testcase.

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

9 years ago2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 12 May 2015 06:37:43 +0000 (06:37 +0000)]
2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66041
PR fortran/37131
* gfortran.h (gfc_array_spec):  Add field resolved.
* array.c (gfc_resolve_array_spec):  Resolve array spec
only once.

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

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

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

9 years agoi386: Add CCPmode
rth [Mon, 11 May 2015 23:33:28 +0000 (23:33 +0000)]
i386: Add CCPmode

For testing parity coming out of asm flags.

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

9 years agoConvert to md_asm_adjust
rth [Mon, 11 May 2015 23:33:23 +0000 (23:33 +0000)]
Convert to md_asm_adjust

Using proper vectors instead of lists of trees.

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

9 years agoCanonicalize asm volatility earlier
rth [Mon, 11 May 2015 23:33:17 +0000 (23:33 +0000)]
Canonicalize asm volatility earlier

If gimple_asm_volatile_p is correct, no point re-checking.
This is also done by the C and C++ front ends, but not Ada.
So we can't yet trust ASM_VOLATILE_P from the front end.

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

9 years agoMerge expand_asm_operands into expand_asm_stmt
rth [Mon, 11 May 2015 23:33:12 +0000 (23:33 +0000)]
Merge expand_asm_operands into expand_asm_stmt

Prepatory to converting from tree chains to vectors.

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

9 years agoOnly resolve_asm_operand_names once
rth [Mon, 11 May 2015 23:33:07 +0000 (23:33 +0000)]
Only resolve_asm_operand_names once

We do it in the front end already; no need to repeat.

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

9 years ago * class.c (fixup_type_variants): Do not copy TYPE_METHODS
hubicka [Mon, 11 May 2015 22:24:33 +0000 (22:24 +0000)]
* class.c (fixup_type_variants): Do not copy TYPE_METHODS
(one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant.
* semantics.c (finish_member_declaration): Likewise.
* method.c (lazily_declare_fn): Allways add method to main variant list.

* dwarf2out.c (gen_member_die): Sanity check that we access TYPE_MAIN_VARIANT
for TYPE_METHODS.
* function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when checking
TYPE_METHODS.
* tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
if non-null.
(build_distinct_type_copy): Clear TYPE_METHODS.
(verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
(verify_type): Allow TYPE_METHODS to be error_mark_node.
* tree.def: Update docs of YTPE_STUB_DECL and TYPE_METHODS.

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

9 years ago * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
ebotcazou [Mon, 11 May 2015 22:12:46 +0000 (22:12 +0000)]
* emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
(emit_pattern_before_setloc): Likewise.

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

9 years agoFix fortran/66100 bound simplification ICE
mikael [Mon, 11 May 2015 21:03:50 +0000 (21:03 +0000)]
Fix fortran/66100 bound simplification ICE

        PR fortran/66100
gcc/fortran/
        * simplify.c (simplify_bound): Fix assert to accept subobject * arrays.
gcc/testsuite/
        * gfortran.dg/bound_simplification_6.f90: New.

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

9 years ago * sv.po: Update.
jsm28 [Mon, 11 May 2015 20:08:32 +0000 (20:08 +0000)]
* sv.po: Update.

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

9 years agogcc/
rsandifo [Mon, 11 May 2015 19:54:42 +0000 (19:54 +0000)]
gcc/
* genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
for define_peephole2s.
(get_peephole2_pattern): New function.
(main): Use it.  Call validate_pattern.

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

9 years ago * MAINTAINERS (Write After Approval): Add myself.
pmatos [Mon, 11 May 2015 18:09:43 +0000 (18:09 +0000)]
    * MAINTAINERS (Write After Approval): Add myself.

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