Commit Graph

138175 Commits

Author SHA1 Message Date
Michael Haubenwallner
df96c0f79a 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.

From-SVN: r223128
2015-05-13 10:58:11 +00:00
Michael Haubenwallner
27f7903a85 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.

From-SVN: r223127
2015-05-13 10:56:33 +00:00
Richard Biener
2ae1d1b8b2 re PR middle-end/66110 (uint8_t memory access not optimized)
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.

From-SVN: r223126
2015-05-13 10:53:42 +00:00
Michael Haubenwallner
6ef9367656 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.

From-SVN: r223125
2015-05-13 10:51:03 +00:00
Michael Haubenwallner
49bfdd599a 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.

From-SVN: r223124
2015-05-13 10:37:11 +00:00
Michael Haubenwallner
a487576562 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.

From-SVN: r223123
2015-05-13 10:35:20 +00:00
Michael Haubenwallner
29910c8626 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.

From-SVN: r223122
2015-05-13 10:32:56 +00:00
David Malcolm
60c1209564 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.

From-SVN: r223121
2015-05-13 10:24:30 +00:00
Tom de Vries
fcd424cecb 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.

From-SVN: r223120
2015-05-13 09:06:18 +00:00
Ilya Enkovich
7947dd0bdf re PR target/65103 ([i386] GOTOFF relocation is not propagated into address expression)
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.

From-SVN: r223119
2015-05-13 08:29:14 +00:00
Martin Liska
f27127cedd Fix test case.
* g++.dg/ipa/pr65557.C: Remove unnecessary dump flag.

From-SVN: r223118
2015-05-13 08:24:04 +00:00
Jakub Jelinek
3d2def23a5 re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)
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.

From-SVN: r223116
2015-05-13 10:09:01 +02:00
Jakub Jelinek
c1ee2e626e re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)
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.

From-SVN: r223115
2015-05-13 10:07:58 +02:00
Ilya Enkovich
e9ae68afa0 re PR rtl-optimization/66048 ([i386] ICE in create_pre_exit when both AVX and MPX are used)
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.

From-SVN: r223114
2015-05-13 07:49:59 +00:00
Thomas Preud'homme
aa953e2fc5 re PR rtl-optimization/64616 (Redundant ldr when accessing var inside and outside a loop)
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.

From-SVN: r223113
2015-05-13 05:39:14 +00:00
Jan Hubicka
e66fc62389 re PR target/66047 (vlc compilation failure with target attribute)
PR target/66047
	* 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.

From-SVN: r223111
2015-05-13 03:35:09 +00:00
Jan Hubicka
e4b5b3a5cb re PR ipa/65873 (Failure to inline always_inline memcpy)
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.

From-SVN: r223108
2015-05-13 02:57:27 +00:00
Jan Hubicka
ddb3773a12 re PR ipa/65873 (Failure to inline always_inline memcpy)
PR ipa/65873
	* ipa-inline.c (can_inline_edge_p): Allow early inlining of always
	inlines across optimization boundary.

From-SVN: r223107
2015-05-13 02:54:50 +00:00
Jason Merrill
fe1814cf84 mmix.c, msp430.c: Add space between string literal and macro name.
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.

From-SVN: r223106
2015-05-12 21:11:13 -04:00
GCC Administrator
0753c69c62 Daily bump.
From-SVN: r223105
2015-05-13 00:16:15 +00:00
Steve Ellcey
70a6fed809 mips.c (mips_print_operand): Remove 'y' operand code.
* 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.

From-SVN: r223101
2015-05-12 22:58:39 +00:00
Ian Lance Taylor
38109dbe01 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.

From-SVN: r223100
2015-05-12 22:13:01 +00:00
Thomas Koenig
7e269fe875 re PR fortran/66111 (ICE with matmul and vector subscripts)
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.

From-SVN: r223099
2015-05-12 21:12:55 +00:00
David Malcolm
c3388e6249 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".

From-SVN: r223098
2015-05-12 20:57:38 +00:00
Uros Bizjak
f06ed65044 alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
* 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.

From-SVN: r223097
2015-05-12 22:05:23 +02:00
Andrew MacLeod
46b35980b8 re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
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.

From-SVN: r223096
2015-05-12 20:01:47 +00:00
Jan Hubicka
e7a677ca1a ipa-devirt.c (type_with_linkage_p): New function.
* 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

From-SVN: r223094
2015-05-12 18:30:40 +00:00
David Malcolm
2162235ef6 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.

From-SVN: r223092
2015-05-12 17:29:32 +00:00
David Malcolm
2637afb722 Unbreak the JIT after conversion of md_asm_adjust to use vec<>
gcc/jit/ChangeLog:
	* jit-builtins.c: Include vec.h before target.h.

From-SVN: r223091
2015-05-12 17:19:54 +00:00
Richard Earnshaw
52c266bab2 arm-protos.h (arm_sched_autopref): Delete.
* 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.

From-SVN: r223090
2015-05-12 16:39:19 +00:00
Tom de Vries
cc1e0483ae 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.

From-SVN: r223088
2015-05-12 16:23:38 +00:00
Tom de Vries
a22e33d04a 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.

From-SVN: r223087
2015-05-12 16:23:29 +00:00
Tom de Vries
7f167be6ac 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.

From-SVN: r223086
2015-05-12 16:23:19 +00:00
Tom de Vries
0648b80726 check_GNU_style.sh: Check file presence
2015-05-12  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Check if files exists.

From-SVN: r223085
2015-05-12 16:23:11 +00:00
Tom de Vries
4171ffe90d 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.

From-SVN: r223084
2015-05-12 16:23:03 +00:00
Sandra Loosemore
eb2f4e8647 nios2.md (trap, ctrapsi4): Use "trap" instead of "break".
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.

From-SVN: r223083
2015-05-12 12:10:21 -04:00
Chung-Lin Tang
3c8c9f0daf nios2.h (enum reg_class): Add IJMP_REGS enum value.
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.


Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r223082
2015-05-12 11:57:22 -04:00
Yury Gribov
a92a1c274c mklog: Ignore preprocessor directives.
2015-05-12  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Ignore preprocessor directives.

From-SVN: r223081
2015-05-12 15:31:02 +00:00
Arnaud Charlet
d5d3b217b3 * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
From-SVN: r223080
2015-05-12 17:20:38 +02:00
Arnaud Charlet
74e9ae980d * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
From-SVN: r223079
2015-05-12 17:19:25 +02:00
Arnaud Charlet
69031b4545 Fix typo.
From-SVN: r223078
2015-05-12 17:18:16 +02:00
Arnaud Charlet
7166d53559 [multiple changes]
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.

From-SVN: r223077
2015-05-12 17:13:06 +02:00
Arnaud Charlet
4b17187f23 [multiple changes]
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.

From-SVN: r223076
2015-05-12 17:11:29 +02:00
Arnaud Charlet
7858300e04 [multiple changes]
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.

From-SVN: r223075
2015-05-12 17:07:01 +02:00
Arnaud Charlet
c8d3b4ff3f [multiple changes]
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.

From-SVN: r223074
2015-05-12 17:00:49 +02:00
Uros Bizjak
98b5dc6118 libgcov-util.c: Add space between string literal and macro name.
* libgcov-util.c: Add space between string literal and macro name.

From-SVN: r223073
2015-05-12 16:40:49 +02:00
Segher Boessenkool
de065fbf8d rs6000.md (*rotlsi3_internal4, [...]): Delete, revamp, transmogrify into ...
* 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.

From-SVN: r223072
2015-05-12 15:55:46 +02:00
Segher Boessenkool
1a93ca861c rs6000.md (rs6000_adjust_atomic_subword): Use gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
* config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
	gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.

From-SVN: r223071
2015-05-12 15:49:21 +02:00
Segher Boessenkool
52a680ceaa rs6000.md (extzv): FAIL for SImode.
* 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.

From-SVN: r223070
2015-05-12 15:47:04 +02:00
Segher Boessenkool
f369372b41 rs6000.md (define_split for bswaphi): Don't use zero_extract.
* config/rs6000/rs6000.md (define_split for bswaphi): Don't use
	zero_extract.

From-SVN: r223069
2015-05-12 15:44:25 +02:00