platform/upstream/linaro-gcc.git
10 years ago * pt.c (apply_late_template_attributes): Use
jason [Wed, 16 Oct 2013 21:58:35 +0000 (21:58 +0000)]
* pt.c (apply_late_template_attributes): Use
attribute_takes_identifier_p.

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

10 years ago * error.c (dump_exception_spec): Print "noexcept" rather than
jason [Wed, 16 Oct 2013 21:58:29 +0000 (21:58 +0000)]
* error.c (dump_exception_spec): Print "noexcept" rather than
"noexcept (true)".

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

10 years ago Core 1591
jason [Wed, 16 Oct 2013 21:58:19 +0000 (21:58 +0000)]
Core 1591
* pt.c (unify_array_domain): Split out from unify.
(unify): Use it for list deduction, too.

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

10 years ago PR c++/57850
jason [Wed, 16 Oct 2013 21:57:36 +0000 (21:57 +0000)]
PR c++/57850
* decl2.c (dump_tu): Split out from...
(cp_write_global_declarations): ...here.  Call it in PCH mode.

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

10 years ago2013-10-16 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 16 Oct 2013 20:46:33 +0000 (20:46 +0000)]
2013-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * interface.c (compare_parameter): Accept passing CLASS(*)
        to CLASS(*).

2013-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_12.f90: New.

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

10 years ago * .dir-locals.el: Add.
mrs [Wed, 16 Oct 2013 18:25:31 +0000 (18:25 +0000)]
* .dir-locals.el: Add.

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

10 years ago2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Wed, 16 Oct 2013 17:56:22 +0000 (17:56 +0000)]
2013-10-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc/config/rs6000/vector.md (vec_unpacks_hi_v4sf): Correct for
endianness.
(vec_unpacks_lo_v4sf): Likewise.
(vec_unpacks_float_hi_v4si): Likewise.
(vec_unpacks_float_lo_v4si): Likewise.
(vec_unpacku_float_hi_v4si): Likewise.
(vec_unpacku_float_lo_v4si): Likewise.

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

10 years ago2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Wed, 16 Oct 2013 17:48:03 +0000 (17:48 +0000)]
2013-10-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vsx.md (vsx_concat_<mode>): Adjust output for LE.
(vsx_concat_v2sf): Likewise.

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

10 years ago[AArch64] Fix output template for Scalar Neon->Neon register move.
jgreenhalgh [Wed, 16 Oct 2013 16:51:22 +0000 (16:51 +0000)]
[AArch64] Fix output template for Scalar Neon->Neon register move.

gcc/
* config/aarch64/aarch64.md
(*mov<mode>_aarch64): Fix output template for DUP (element) Scalar.

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

10 years ago PR tree-optimization/58697
amacleod [Wed, 16 Oct 2013 15:48:47 +0000 (15:48 +0000)]
PR tree-optimization/58697
* cfgloop.c (get_estimated_loop_iterations_int): Rename from
estimated_loop_iterations_int.
(max_stmt_executions_int): Call get_max_loop_iterations_int.
(get_max_loop_iterations_int): New.  HWINT version of
get_max_loop_iterations.
* cfgloop.h: Add prototypes.
* loop-iv.c (find_simple_exit): call get_estimated_loop_iterations_int.
* loop-unroll.c (decide_peel_once_rolling): Call
get_estimated_loop_iterations_int.
* tree-ssa-loop-niter.c (estimated_loop_iterations_int): Add back.
* tree-ssa-loop-niter.h: Tweak prototypes.

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

10 years agogengtype: Ignore access-control keywords when parsing fields
dmalcolm [Wed, 16 Oct 2013 15:25:23 +0000 (15:25 +0000)]
gengtype: Ignore access-control keywords when parsing fields

* gengtype-parse.c (struct_field_seq): Ignore access-control
keywords ("public:" etc).

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

10 years ago[AArch64] Classify FRAME_POINTER_REGNUM and ARG_POINTER_REGNUM as POINTER_REGS.
mshawcroft [Wed, 16 Oct 2013 14:46:13 +0000 (14:46 +0000)]
[AArch64] Classify FRAME_POINTER_REGNUM and ARG_POINTER_REGNUM as POINTER_REGS.

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

10 years agoruntime: Fix build on systems without split stack.
ian [Wed, 16 Oct 2013 13:37:35 +0000 (13:37 +0000)]
runtime: Fix build on systems without split stack.

From Uros Bizjak.

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

10 years ago2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 16 Oct 2013 12:04:50 +0000 (12:04 +0000)]
2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (tsubst): Fix typo in last commit.

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

10 years ago2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 16 Oct 2013 11:56:01 +0000 (11:56 +0000)]
2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (tsubst): Fix typo in last commit.

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

10 years ago2013-10-16 Yvan Roux <yvan.roux@linaro.org>
yroux [Wed, 16 Oct 2013 11:36:18 +0000 (11:36 +0000)]
2013-10-16  Yvan Roux  <yvan.roux@linaro.org>

* config/arm/arm.opt (mlra): New option.
* config/arm/arm.c (arm_lra_p): New function.
(TARGET_LRA_P): Define.

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

10 years agogcc/testsuite/
tschwinge [Wed, 16 Oct 2013 10:53:36 +0000 (10:53 +0000)]
gcc/testsuite/
* c-c++-common/cpp/openmp-define-1.c: Move
dg-require-effective-target fopenmp after dg-do directive.
* c-c++-common/cpp/openmp-define-2.c: Likewise.
* gfortran.dg/openmp-define-1.f90: Likewise.
* gfortran.dg/openmp-define-2.f90: Likewise.
* gfortran.dg/openmp-define-3.f90: Likewise.

Completion of r203588, fix-up for r203417.

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

10 years agogcc/
pmatos [Wed, 16 Oct 2013 10:09:17 +0000 (10:09 +0000)]
gcc/
* tree-core.h (tree_code_name): Remove.
* tree.h (get_tree_code_name): New prototype.
* tree.c (tree_code_name): Make static.
(get_tree_code_name): New function.
(dump_tree_statistics, tree_check_failed, tree_not_check_failed,
tree_class_check_failed, tree_range_check_failed,
tree_not_class_check_failed, omp_clause_check_failed,
tree_contains_struct_check_failed, tree_operand_check_failed): Use new
wrapper get_tree_code_name instead of calling tree_code_name directly.
* tree-vrp.c (dump_asserts_for): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (do_niy, dump_generic_node): Likewise.
* tree-pretty-print.h (pp_unsupported_tree): Likewise.
* lto-streamer-out.c (lto_write_tree, DFS_write_tree): Likewise.
* tree-ssa-dom.c (print_expr_hash_elt): Likewise.
* gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
dump_ternary_rhs, dump_gimple_assign, dump_gimple_cond,
dump_gimple_omp_for): Likewise.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise.
* tree-ssa-pre.c (print_pre_expr): Likewise.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
* print-tree.c (print_node_brief, print_node): Likewise.
* gimple.c (gimple_check_failed): Likewise.
* lto-streamer.c (lto_tag_name, print_lto_report): Likewise.
* config/frv/frv.c (frv_init_cumulative_args): Likewise.
* config/mep/mep.c (mep_validate_vliw): Likewise.
* config/iq2000/iq2000.c (init_cumulative_args): Likewise.
* config/rs6000/rs6000.c (init_cumulative_args): Likewise.

gcc/cp/
* error.c (code_to_string): Use new wrapper get_tree_code_name.
* cxx-pretty-print.c (pp_cxx_assignment_operator): Likewise.
* pt.c (tsubst): Likewise.
* semantics.c (cxx_eval_constant_expression,
potential_constant_expression_1): Likewise.
* mangle.c (MANGLE_TRACE_TREE, dump_substitution_candidates,
add_substitution, find_substitution): Likewise.

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

10 years agoEnable FMA4 for AMD bdver3 architecture
gganesh [Wed, 16 Oct 2013 09:51:24 +0000 (09:51 +0000)]
Enable FMA4 for AMD bdver3 architecture

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

10 years ago * gcc.dg/tree-prof/tree-prof.exp: Fix comment.
pmatos [Wed, 16 Oct 2013 09:50:21 +0000 (09:50 +0000)]
* gcc.dg/tree-prof/tree-prof.exp: Fix comment.

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

10 years ago For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h.
hp [Wed, 16 Oct 2013 01:43:14 +0000 (01:43 +0000)]
For CRIS ports, switch to soft-fp.  Improve arit.c and longlong.h.
* config.host (cpu_type) <Setting default>: Add entry for
crisv32-*-*.
(tmake_file) <crisv32-*-elf, cris-*-elf, cris-*-linux*>
<crisv32-*-linux*>: Adjust.
* longlong.h: Wrap the whole CRIS section in a single
defined(__CRIS__) conditional.  Add comment about add_ssaaaa
and sub_ddmmss.
(COUNT_LEADING_ZEROS_0): Define when count_leading_zeros is
defined.
[__CRIS__] (__umulsidi3): Define.
[__CRIS__] (umul_ppmm): Define in terms of __umulsidi3.
* config/cris/sfp-machine.h: New file.
* config/cris/umulsidi3.S: New file.
* config/cris/t-elfmulti (LIB2ADD_ST): Add umulsidi3.S.
* config/cris/arit.c (SIGNMULT): New macro.
(__Div, __Mod): Use SIGNMULT instead of naked multiplication.
* config/cris/mulsi3.S: Tweak to avoid redundant register-copying;
saving 3 out of originally 33 cycles from the fastest
path, 3 out of 54 from the medium path and one from the longest
path.  Improve comments.

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

10 years ago * config/cris/t-elfmulti (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
hp [Wed, 16 Oct 2013 01:38:27 +0000 (01:38 +0000)]
* config/cris/t-elfmulti (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES): Add multilib for -march=v8.

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

10 years agoDaily bump.
gccadmin [Wed, 16 Oct 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

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

10 years agogcc/fortran/
burnus [Tue, 15 Oct 2013 22:08:46 +0000 (22:08 +0000)]
gcc/fortran/
2013-10-16  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
        Document omp_proc_bind_kind.

libgomp/
2013-10-16  Tobias Burnus  <burnus@net-b.de>

        * libgomp.texi: (Runtime Library Routines): Update references
        * for
        OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
        omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
        omp_get_team_num, omp_is_initial_device, omp_set_default_device.
        (Environment Variables): Update references for OpenMP 4.0. Add
        OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
        Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
        order.

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

10 years agoPR target/57756
tmsriram [Tue, 15 Oct 2013 21:43:21 +0000 (21:43 +0000)]
PR target/57756

The root-cause of this PR is that global_options is not restored to
default before calling ix86_valid_target_attribute_tree and hence
target attributes are incorrectly processed sometimes.

This patch refactors code in i386.c in functions in the call-chain of
ix86_valid_target_attribute_tree to use any gcc_options struct passed
as a parameter. It replaces existing code which always uses the
global_options struct.

2013-10-15 Sriraman Tallam  <tmsriram@google.com>

PR target/57756
* optc-save-gen.awk: Add extra parameter to the save and restore
target calls.
* opth-gen.awk: Generate new TARGET_* macros  to accept a parameter.
* tree.c (build_optimization_node): New parameter.  Add extra parameter
to call to cl_optimization_save.
(build_target_option_node): New parameter. Add extra parameter
to call to cl_target_option_save.
* tree.h (build_optimization_node): New parameter.
(build_target_option_node): New parameter.
* c-family/c-common.c (handle_optimize_attribute): Fix calls to
build_optimization_node and build_target_option_node.
* c-family/c-pragma.c (handle_pragma_optimize): Ditto.
(handle_pragma_push_options): Ditto.
* toplev.c (process_options): Ditto.
* opts.c (init_options_struct): Check for opts_set non-null.
* target.def (target_option.save): New parameter.
(target_option.restore): New parameter.
* tm.texi: Generate.
* config/i386/i386-c.c (ix86_target_macros_internal): Ditto.
(ix86_pragma_target_parse): Ditto.
* config/i386/i386-protos.h (ix86_valid_target_attribute_tree): New
parameters.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix calls
to  build_optimization_node and build_target_option_node.
(rs6000_valid_attribute_p): Ditto.
(rs6000_pragma_target_parse): Ditto.
* config/i386/i386.opt (x_ix86_target_flags_explicit): New TargetSave
data.
* config/i386/i386.h:
TARGET_64BIT_P: New Macro
TARGET_MMX_P: New Macro.
TARGET_3DNOW_P: New Macro.
TARGET_3DNOW_A_P: New Macro.
TARGET_SSE_P: New Macro.
TARGET_SSE2_P: New Macro.
TARGET_SSE3_P: New Macro.
TARGET_SSSE3_P: New Macro.
TARGET_SSE4_1_P: New Macro.
TARGET_SSE4_2_P: New Macro.
TARGET_AVX_P: New Macro.
TARGET_AVX2_P: New Macro.
TARGET_AVX512F_P: New Macro.
TARGET_AVX512PF_P: New Macro.
TARGET_AVX512ER_P: New Macro.
TARGET_AVX512CD_P: New Macro.
TARGET_FMA_P: New Macro.
TARGET_SSE4A_P: New Macro.
TARGET_FMA4_P: New Macro.
TARGET_XOP_P: New Macro.
TARGET_LWP_P: New Macro.
TARGET_ABM_P: New Macro.
TARGET_BMI_P: New Macro.
TARGET_BMI2_P: New Macro.
TARGET_LZCNT_P: New Macro.
TARGET_TBM_P: New Macro.
TARGET_POPCNT_P: New Macro.
TARGET_SAHF_P: New Macro.
TARGET_MOVBE_P: New Macro.
TARGET_CRC32_P: New Macro.
TARGET_AES_P: New Macro.
TARGET_PCLMUL_P: New Macro.
TARGET_CMPXCHG16B_P: New Macro.
TARGET_FSGSBASE_P: New Macro.
TARGET_RDRND_P: New Macro.
TARGET_F16C_P: New Macro.
TARGET_RTM_P: New Macro.
TARGET_HLE_P: New Macro.
TARGET_RDSEED_P: New Macro.
TARGET_PRFCHW_P: New Macro.
TARGET_ADX_P: New Macro.
TARGET_FXSR_P: New Macro.
TARGET_XSAVE_P: New Macro.
TARGET_XSAVEOPT_P: New Macro.
TARGET_LP64_P: New Macro.
TARGET_X32_P: New Macro.
TARGET_FPMATH_DEFAULT_P: New Macro.
TARGET_FLOAT_RETURNS_IN_80387_P: New Macro.
* config/i386/i386.c (ix86_option_override_internal): New parameters.
opts and opts_set.
Change ix86_tune_string to access opts->x_ix86_tune_string.
Change ix86_isa_flags to access opts->x_ix86_isa_flags.
Change ix86_arch_string to access opts->x_ix86_arch_string.
Change ix86_stringop_alg to access opts->x_ix86_stringop_alg.
Change ix86_pmode to access opts->x_ix86_pmode.
Change ix86_abi to access opts->x_ix86_abi.
Change ix86_cmodel to access opts->x_ix86_cmodel.
Change ix86_asm_dialect to access opts->x_ix86_asm_dialect.
Change ix86_isa_flags_explicit to access
opts->x_ix86_isa_flags_explicit.
Change ix86_dump_tunes to access opts->x_ix86_dump_tunes.
Change ix86_regparm to access opts->x_ix86_regparm.
Change ix86_branch_cost to access opts->x_ix86_branch_cost.
Change ix86_preferred_stack_boundary_arg to access
opts->x_ix86_preferred_stack_boundary_arg.
Change ix86_force_align_arg_pointer to access
opts->x_ix86_force_align_arg_pointer.
Change ix86_incoming_stack_boundar_arg to access
opts->x_ix86_incoming_stack_boundar_arg.
Change ix86_fpmath to access opts->x_ix86_fpmath.
Change ix86_veclibabi_type to access opts->x_ix86_veclibabi_type.
Change ix86_recip_name to access opts->x_ix86_recip_name.
Change ix86_stack_protector_guard to access
opts->x_ix86_stack_protector_guard.
Change ix86_tune_memcpy_strategy to access
opts->x_ix86_tune_memcpy_strategy.
Change ix86_tune_memset_strategy to access
opts->x_ix86_tune_memset_strategy.
Change global_options to access opts.
Change global_options_set to access opts_set.
        Change TARGET_64BIT to TARGET_64BIT_P (opts->...)
        Change TARGET_MMX to TARGET_MMX_P (opts->...)
        Change TARGET_3DNOW to TARGET_3DNOW_P (opts->...)
        Change TARGET_3DNOW_A to TARGET_3DNOW_A_P (opts->...)
        Change TARGET_SSE to TARGET_SSE_P (opts->...)
        Change TARGET_SSE2 to TARGET_SSE2_P (opts->...)
        Change TARGET_SSE3 to TARGET_SSE3_P (opts->...)
        Change TARGET_SSSE3 to TARGET_SSSE3_P (opts->...)
        Change TARGET_SSE4_1 to TARGET_SSE4_1_P (opts->...)
        Change TARGET_SSE4_2 to TARGET_SSE4_2_P (opts->...)
        Change TARGET_AVX to TARGET_AVX_P (opts->...)
        Change TARGET_AVX2 to TARGET_AVX2_P (opts->...)
        Change TARGET_AVX512F to TARGET_AVX512F_P (opts->...)
        Change TARGET_AVX512PF to TARGET_AVX512PF_P (opts->...)
        Change TARGET_AVX512ER to TARGET_AVX512ER_P (opts->...)
        Change TARGET_AVX512CD to TARGET_AVX512CD_P (opts->...)
        Change TARGET_FMA to TARGET_FMA_P (opts->...)
        Change TARGET_SSE4A to TARGET_SSE4A_P (opts->...)
        Change TARGET_FMA4 to TARGET_FMA4_P (opts->...)
        Change TARGET_XOP to TARGET_XOP_P (opts->...)
        Change TARGET_LWP to TARGET_LWP_P (opts->...)
        Change TARGET_ABM to TARGET_ABM_P (opts->...)
        Change TARGET_BMI to TARGET_BMI_P (opts->...)
        Change TARGET_BMI2 to TARGET_BMI2_P (opts->...)
        Change TARGET_LZCNT to TARGET_LZCNT_P (opts->...)
        Change TARGET_TBM to TARGET_TBM_P (opts->...)
        Change TARGET_POPCNT to TARGET_POPCNT_P (opts->...)
        Change TARGET_SAHF to TARGET_SAHF_P (opts->...)
        Change TARGET_MOVBE to TARGET_MOVBE_P (opts->...)
        Change TARGET_CRC32 to TARGET_CRC32_P (opts->...)
        Change TARGET_AES to TARGET_AES_P (opts->...)
        Change TARGET_PCLMUL to TARGET_PCLMUL_P (opts->...)
        Change TARGET_CMPXCHG16B to TARGET_CMPXCHG16B_P (opts->...)
        Change TARGET_FSGSBASE to TARGET_FSGSBASE_P (opts->...)
        Change TARGET_RDRND to TARGET_RDRND_P (opts->...)
        Change TARGET_F16C to TARGET_F16C_P (opts->...)
        Change TARGET_RTM to TARGET_RTM_P (opts->...)
        Change TARGET_HLE to TARGET_HLE_P (opts->...)
        Change TARGET_RDSEED to TARGET_RDSEED_P (opts->...)
        Change TARGET_PRFCHW to TARGET_PRFCHW_P (opts->...)
        Change TARGET_ADX to TARGET_ADX_P (opts->...)
        Change TARGET_FXSR to TARGET_FXSR_P (opts->...)
        Change TARGET_XSAVE to TARGET_XSAVE_P (opts->...)
        Change TARGET_XSAVEOPT to TARGET_XSAVEOPT_P (opts->...)
        Change TARGET_LP64 to TARGET_LP64_P (opts->...)
        Change TARGET_X32 to TARGET_X32_P (opts->...)
        Change TARGET_FPMATH_DEFAULT to TARGET_FPMATH_DEFAULT_P (opts->...)
        Change TARGET_FLOAT_RETURNS_IN_80387 to
 TARGET_FLOAT_RETURNS_IN_80387_P (opts->...)
(ix86_function_specific_save): New parameter. Use opts-> fields
to replace global fields.
(ix86_function_specific_restore): Ditto.
(ix86_valid_target_attribute_inner_p): New parameters.
Fix recursive call.
Fix call to ix86_handle_option and set_option.
(ix86_valid_target_attribute_tree): New parameters.
Change global_options to access opts.
Change global_options_set to access opts_set.
Fix call to ix86_valid_target_attribute_inner_p.
Change ix86_tune_string to access opts->x_ix86_tune_string.
Change ix86_arch_string to access opts->x_ix86_arch_string.
Change ix86_fpmath to access opts->x_ix86_fpmath
Fix call to ix86_option_override_internal.
Fix call to ix86_add_new_builtins.
Fix calls to build_optimization_node and build_target_option_node.
(ix86_valid_target_attribute_p): Remove access to global_options.
Use new gcc_options structure func_options.
Fix call to ix86_valid_target_attribute_tree.
Fix call to  build_optimization_node.
(get_builtin_code_for_version): Fix call to
ix86_valid_target_attribute_tree.

PR target/57756
* gcc.target/i386/pr57756.c: New test.
* gcc.target/i386/pr57756_2.c: New test.

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

10 years agoMove Paulo's 9/27/2013 ChangeLog entry to the right file
law [Tue, 15 Oct 2013 20:50:33 +0000 (20:50 +0000)]
Move Paulo's 9/27/2013 ChangeLog entry to the right file

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

10 years agoAdd --enable-host-shared configuration option
dmalcolm [Tue, 15 Oct 2013 20:33:55 +0000 (20:33 +0000)]
Add --enable-host-shared configuration option

/
* configure.ac: Add --enable-host-shared
* configure: Regenerate.

gcc/
* Makefile.in (PICFLAG): New.
(enable_host_shared): New.
(INTERNAL_CFLAGS): Use PICFLAG.
(LIBIBERTY): Use pic build of libiberty.a if configured with
--enable-host-shared.
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* configure: Regenerate.
* doc/install.texi (--enable-shared): Add note contrasting it
with...
(--enable-host-shared): New option.

libbacktrace/
* configure.ac: Add --enable-host-shared, setting up
pre-existing PIC_FLAG variable within Makefile.am et al.
* configure: Regenerate.

libcpp/
* Makefile.in (PICFLAG): New.
(ALL_CFLAGS): Add PICFLAG.
(ALL_CXXFLAGS): Likewise.
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* configure: Regenerate.

libdecnumber/
* Makefile.in (PICFLAG): New.
(ALL_CFLAGS): Add PICFLAG.
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* configure: Regenerate.

libiberty/
* configure.ac: If --enable-host-shared, use -fPIC.
* configure: Regenerate.

zlib/
* configure.ac: Add --enable-host-shared, setting up new
PICFLAG variable.
* Makefile.am: Add PICFLAG to libz_a_CFLAGS.
* Makefile.in: Regenerate.
* configure: Regenerate.

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

10 years agoAdd missing function in 20_util/exchange/1.cc.
dnovillo [Tue, 15 Oct 2013 18:51:37 +0000 (18:51 +0000)]
Add missing function in 20_util/exchange/1.cc.

When this test is compiled at -O0, the compiler does not remove the
address comparison. This causes a link failure, since the body of f()
is missing.

* testsuite/20_util/exchange/1.cc: Add missing function
bodies.

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

10 years agogcc/
rsandifo [Tue, 15 Oct 2013 18:24:30 +0000 (18:24 +0000)]
gcc/
2013-10-15  Richard Biener  <rguenther@suse.de>

* tree-tailcall.c (find_tail_calls): Don't use tail-call recursion
for built-in functions.

gcc/testsuite/
* gcc.dg/torture/builtin-self.c: New file.

libgcc/
* sync.c: Remove static aliases and define each function directly
under its real name.

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

10 years ago * tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
law [Tue, 15 Oct 2013 17:48:44 +0000 (17:48 +0000)]
* tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
(optimize_range_tests_1): New function,
extracted from optimize_range_tests.
(optimize_range_tests_xor): Similarly.
(optimize_range_tests_diff): New function.
(optimize_range_tests): Use optimize_range_tests_1.

* gcc.dg/tree-ssa/reassoc-32.c: New test case.
* gcc.dg/tree-ssa/reassoc-33.c: New test case.
* gcc.dg/tree-ssa/reassoc-34.c: New test case.
* gcc.dg/tree-ssa/reassoc-35.c: New test case.
* gcc.dg/tree-ssa/reassoc-36.c: New test case.

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

10 years ago2013-10-15 Cong Hou <congh@google.com>
congh [Tue, 15 Oct 2013 17:17:43 +0000 (17:17 +0000)]
2013-10-15  Cong Hou  <congh@google.com>

        * tree-vect-loop.c (vect_is_simple_reduction_1): Relax the
        requirement of the reduction pattern so that one operand of the
        reduction operation can come from outside of the loop.

2013-10-15  Cong Hou  <congh@google.com>

        * gcc.dg/vect/vect-reduc-pattern-3.c: New test.

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

10 years ago/cp
paolo [Tue, 15 Oct 2013 16:36:11 +0000 (16:36 +0000)]
/cp
2013-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58707
* parser.c (cp_parser_postfix_open_square_expression): Set
parser->greater_than_is_operator_p for the argument.

/testsuite
2013-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58707
* g++.dg/cpp0x/pr58707.C: New.

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

10 years agoMove Martin's most recent entry into the right ChangeLog file
law [Tue, 15 Oct 2013 15:52:37 +0000 (15:52 +0000)]
Move Martin's most recent entry into the right ChangeLog file

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

10 years ago[ARM] [Neon types 10/10] Remove neon-schedgen.ml
jgreenhalgh [Tue, 15 Oct 2013 15:41:37 +0000 (15:41 +0000)]
[ARM] [Neon types 10/10] Remove neon-schedgen.ml

gcc/
* config/arm/neon-schedgen.ml: Remove.
* config/arm/cortex-a9-neon.md: Remove comment regarding
neon-schedgen.ml.

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

10 years ago[ARM] [Neon types 9/10] Remove old neon types
jgreenhalgh [Tue, 15 Oct 2013 15:37:23 +0000 (15:37 +0000)]
[ARM] [Neon types 9/10] Remove old neon types

gcc/
* config/arm/types: Remove old neon types.

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

10 years ago[ARM] [Neon types 8/10] Cortex-A7 neon pipeline model
jgreenhalgh [Tue, 15 Oct 2013 15:36:15 +0000 (15:36 +0000)]
[ARM] [Neon types 8/10] Cortex-A7 neon pipeline model

gcc/
* config/arm/cortex-a7.md
(cortex_a7_neon_type): New.
(cortex_a7_neon_mul): Update for new types.
(cortex_a7_neon_mla): Likewise.
(cortex_a7_neon): Likewise.

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

10 years ago[ARM] [Neon types 7/10] Cortex-A15 neon pipeline changes
jgreenhalgh [Tue, 15 Oct 2013 15:35:05 +0000 (15:35 +0000)]
[ARM] [Neon types 7/10] Cortex-A15 neon pipeline changes

* config/arm/cortex-a15-neon.md: Update pipeline model.

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

10 years ago[ARM] [Neon types 6/10] Cortex-A9 neon pipeline changes
jgreenhalgh [Tue, 15 Oct 2013 15:33:31 +0000 (15:33 +0000)]
[ARM] [Neon types 6/10] Cortex-A9 neon pipeline changes

gcc/
* config/arm/cortex-a8-neon.md (cortex_a9_neon_type): New.
* config/arm/cortex-a8-neon.md: Update all pipeline units for
new types.

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

10 years ago[ARM] [Neon types 5/10] Update Cortex-A8 pipeline model
jgreenhalgh [Tue, 15 Oct 2013 15:31:38 +0000 (15:31 +0000)]
[ARM] [Neon types 5/10] Update Cortex-A8 pipeline model

gcc/
* config/arm/cortex-a8-neon.md (cortex_a8_neon_type): New.
* config/arm/cortex-a8-neon.md: Update all pipeline units.

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

10 years ago[AArch64] [Neon types 4/10] Add type attributes to all simd insns
jgreenhalgh [Tue, 15 Oct 2013 15:30:00 +0000 (15:30 +0000)]
[AArch64] [Neon types 4/10] Add type attributes to all simd insns

gcc/

* config/aarch64/iterators.md (Vetype): Add SF and DF modes.
(fp): New.
* config/aarch64/aarch64-simd.md (neon_type): Remove.
* config/aarch64/aarch64-simd.md: Add "type" attribute to all
patterns.

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

10 years ago[ARM] [Neon types 3/10] Update Current type attributes to new Neon Types.
jgreenhalgh [Tue, 15 Oct 2013 15:28:04 +0000 (15:28 +0000)]
[ARM] [Neon types 3/10] Update Current type attributes to new Neon Types.

gcc/
* config/arm/iterators.md (V_elem_ch): New.
(q): Likewise.
(VQH_type): Likewise.
* config/arm/arm.md (is_neon_type): New.
(conds): Use is_neon_type.
(anddi3_insn): Update type attribute.
(xordi3_insn): Likewise.
(one_cmpldi2): Likewise.
* gcc/config/arm/vfp.md (movhf_vfp_neon): Update type attribute.
* gcc/config/arm/neon.md (neon_mov): Update type attributes for
all patterns.

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

10 years ago[AArch64] [Neon types 2/10] Update Current type attributes to new Neon Types.
jgreenhalgh [Tue, 15 Oct 2013 15:26:15 +0000 (15:26 +0000)]
[AArch64] [Neon types 2/10] Update Current type attributes to new Neon Types.

gcc/
* config/aarch64/aarch64.md (movtf_aarch64): Update type attribute.
(load_pair): Update type attribute.
(store_pair): Update type attribute.
* config/aarch64/iterators.md (q): New.

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

10 years ago[ARM] [Neon Types 1/10] Add new types to describe Neon insns.
jgreenhalgh [Tue, 15 Oct 2013 15:24:29 +0000 (15:24 +0000)]
[ARM] [Neon Types 1/10] Add new types to describe Neon insns.

gcc/
* config/arm/types.md: Add new types for Neon insns.

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

10 years ago2013-10-15 Tim Shen <timshen91@gmail.com>
timshen [Tue, 15 Oct 2013 15:01:44 +0000 (15:01 +0000)]
2013-10-15  Tim Shen  <timshen91@gmail.com>

PR libstdc++/58737
* include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
leak by adding it.
* include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.

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

10 years ago * config/i386/sse.md (unspec): Add UNSPEC_RCP14, UNSPEC_RSQRT14,
kyukhin [Tue, 15 Oct 2013 14:33:34 +0000 (14:33 +0000)]
* config/i386/sse.md (unspec): Add UNSPEC_RCP14, UNSPEC_RSQRT14,
UNSPEC_FIXUPIMM, UNSPEC_SCALEF, UNSPEC_GETEXP, UNSPEC_GETMANT,
UNSPEC_EXP2, UNSPEC_RCP28, UNSPEC_RSQRT28.
(rcp14<mode>): New.
(srcp14<mode>): Ditto.
(rsqrt14<mode>): Ditto.
(rsqrt14<mode>): Ditto.
(avx512f_vmscalef<mode>): Ditto.
(avx512f_scalef<mode>): Ditto.
(avx512f_getexp<mode>): Ditto.
(avx512f_sgetexp<mode>): Ditto.
(avx512f_fixupimm<mode>): Ditto.
(avx512f_sfixupimm<mode>): Ditto.
(avx512f_rndscale<mode>): Ditto.
(*avx512er_exp2<mode>): Ditto.
(*avx512er_rcp28<mode>): Ditto.
(avx512er_rsqrt28<mode>): Ditto.
(avx512f_getmant<mode>): Ditto.
(avx512f_getmant<mode>): Ditto.
(avx512f_rndscale<mode>): Fix formatting.

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

10 years ago2013-10-15 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 15 Oct 2013 14:15:07 +0000 (14:15 +0000)]
2013-10-15  Martin Jambor  <mjambor@suse.cz>

* ipa-utils.h (ipa_edge_within_scc): Declare.
* ipa-cp.c (edge_within_scc): Moved...
* ipa-utils.c (ipa_edge_within_scc): ...here.  Updated all callers.

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

10 years ago * config/i386/predicates.md (const_8_to_15_operand): New.
kyukhin [Tue, 15 Oct 2013 13:54:52 +0000 (13:54 +0000)]
   * config/i386/predicates.md (const_8_to_15_operand): New.
        (const_16_to_31_operand): Ditto.
        * config/i386/sse.md (V8FI): New.
        (V16FI): Ditto.
        (reduc_splus_v8df): Ditto.
        (reduc_splus_v16sf): Ditto.
        (avx512f_vextract<shuffletype>32x4_1): Ditto.
        (vec_extract_hi_<mode>): Ditto.
        (avx512f_vinsert<shuffletype>32x4_1): Ditto.
        (vec_set_lo_<mode>): Ditto.
        (vec_set_hi_<mode>): Ditto.
        (avx512f_shuf_<shuffletype>64x2_1): Ditto.
        (avx512f_shuf_<shuffletype>32x4_1): Ditto.
        (avx512f_pshufd_1): Ditto.
        (avx512f_broadcast<mode>): Ditto.
        (avx512f_broadcast<mode>): Ditto.
        (define_split): Split vec_extract_lo into move.
        (ssequartermode): Ditto.
        (ssedoublemode): Extened with wider modes.
        (vec_extract_lo_<mode>): Ditto.

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

10 years ago * config/i386/predicates.md (register_or_constm1_operand): New.
kyukhin [Tue, 15 Oct 2013 13:51:56 +0000 (13:51 +0000)]
    * config/i386/predicates.md (register_or_constm1_operand): New.
        * config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_PCMP, UNSPEC_TESTM,
        UNSPEC_TESTNM, UNSPEC_VTERNLOG, UNSPEC_ALIGN, UNSPEC_CONFLICT,
        UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT, UNSPEC_GATHER_PREFETCH,
        UNSPEC_SCATTER_PREFETCH
        (VI48_512): New.
        (avx512f_ucmp<mode>3): Ditto.
        (avx512f_vternlog<mode>): Ditto.
        (avx512f_align<mode>): Ditto.
        (<shift_insn><mode>3): Ditto.
        (avx512f_<rotate>v<mode>): Ditto.
        (avx512f_<rotate><mode>): Ditto.
        (avx512f_eq<mode>3): Ditto.
        (avx512f_eq<mode>3_1): Ditto.
        (avx512f_gt<mode>3): Ditto.
        (avx512f_testm<mode>3): Ditto.
        (avx512f_testnm<mode>3): Ditto.
        (avx512pf_gatherpf<mode>): Ditto.
        (*avx512pf_gatherpf<mode>_mask): Ditto.
        (*avx512pf_gatherpf<mode>): Ditto.
        (avx512pf_scatterpf<mode>): Ditto.
        (*avx512pf_scatterpf<mode>_mask): Ditto.
        (*avx512pf_scatterpf<mode>): Ditto.
        (avx512f_vec_dup_gpr<mode>): Ditto.
        (clz<mode>2): Ditto.
        (conflict<mode>): Ditto.
        (REDUC_SMINMAX_MODE): Extened with wider modes.
        (reduc_<code>_<mode>): Ditto.
        (vlshr<mode>3): Ditto.
        (vashl<mode>3): Ditto.

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

10 years ago * config/i386/sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2,
kyukhin [Tue, 15 Oct 2013 13:49:55 +0000 (13:49 +0000)]
    * config/i386/sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2,
        UNSPEC_SCATTER.
        (VI48F_512): New.
        (avx512fmaskmode): Ditto.
        (bcstscalarsuff): Ditto.
        (avx512f_blendm<mode>): Ditto.
        (cmp_imm_predicate): Ditto.
        (avx512f_cmp<mode>3): Ditto.
        (avx512f_vec_dup<mode>): Ditto.
        (avx512f_vec_dup_mem<mode>): Ditto.
        (avx512f_vpermi2var<mode>3): Ditto.
        (avx512f_vpermt2var<mode>3): Ditto.
        (vec_init<mode>): Ditto.
        (avx512f_gathersi<mode>): Ditto.
        (*avx512f_gathersi<mode>): Ditto.
        (*avx512f_gathersi<mode>_2): Ditto.
        (avx512f_gatherdi<mode>): Ditto.
        (*avx512f_gatherdi<mode>): Ditto.
        (*avx512f_gatherdi<mode>_2): Ditto.
        (avx512f_scattersi<mode>): Ditto.
        (*avx512f_scattersi<mode>): Ditto.
        (avx512f_scatterdi<mode>): Ditto.
        (*avx512f_scatterdi<mode>): Ditto.
        (sseintprefix): Extened with wider modes.
        (VEC_GATHER_IDXSI): Ditto.
        (VEC_GATHER_IDXDI): Ditto.
        (VEC_GATHER_SRCDI): Ditto.

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

10 years agoAdd A profile only multilib make file fragment.
ramana [Tue, 15 Oct 2013 13:23:44 +0000 (13:23 +0000)]
Add A profile only multilib make file fragment.

2013-10-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/t-aprofile: New file.
* config.gcc: Handle --with-multilib-list option.

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

10 years ago2013-10-15 Richard Biener <rguenther@suse.de>
rguenth [Tue, 15 Oct 2013 11:13:04 +0000 (11:13 +0000)]
2013-10-15  Richard Biener  <rguenther@suse.de>

lto/
* lto.c (hash_canonical_type): Split out from ...
(iterative_hash_canonical_type): ... here.  Register types
we recurse to.
(gimple_canonical_type_hash): Adjust.
(gimple_register_canonical_type_1): Split out from ...
(gimple_register_canonical_type): ... here.  Cache computed
hash value.
(lto_register_canonical_types): Split into two modes,
clearing and computing TYPE_CANONICAL.
(lto_read_decls): Adjust.
(read_cgraph_and_symbols): Do two passes over global trees,
first clearing then computing TYPE_CANONICAL.

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

10 years ago2013-10-15 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 15 Oct 2013 11:01:03 +0000 (11:01 +0000)]
2013-10-15  Thomas Quinot  <quinot@adacore.com>

* exp_pakd.adb (Expand_Packed_Element_Set,
Expand_Packed_Element_Reference): Adjust for the case of packed
arrays of reverse-storage-order types.

2013-10-15  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.

2013-10-15  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute_Specification, case
To_Address): If the expression is an identifier, do not modify
its type; it will be converted when necessary, and the type of
the expression must remain consistent with that of the entity
for back-end consistency.

2013-10-15  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb (Unit_Requires_Body): Add flag
Ignore_Abstract_State (Analyze_Package_Specification): Enforce
rule requiring Elaborate_Body if a non-null abstract state is
specified for a library-level package.
* sem_ch7.ads (Unit_Requires_Body): Add flag Ignore_Abstract_State.

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

10 years agoFix a miscompilation where a reload reg is reused after it has been clobbered.
bernds [Tue, 15 Oct 2013 10:36:03 +0000 (10:36 +0000)]
Fix a miscompilation where a reload reg is reused after it has been clobbered.

* reload1.c (reloads_unique_chain_p): Ensure that r1 is the input for
r2.

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

10 years ago2013-10-15 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 15 Oct 2013 10:33:29 +0000 (10:33 +0000)]
2013-10-15  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Constituent): When
a state acts as a constituent of another state, ensure that
the said state has a Part_Of dependency in its corresponding
aspect/pragma Abstract_State.

2013-10-15  Robert Dewar  <dewar@adacore.com>

* par-ch4.adb (P_If_expression): Handle redundant ELSE cleanly.

2013-10-15  Thomas Quinot  <quinot@adacore.com>

* atree.ads (New_Copy, Relocate_Node): Improve documentation
(note that these subprograms reset Is_Overloaded).

2013-10-15  Thomas Quinot  <quinot@adacore.com>

* checks.adb (Check_Needed): Handle the case where the test in
the left operand of the short circuit is wrapped in a qualified
expression, type conversion, or expression with actions.

2013-10-15  Thomas Quinot  <quinot@adacore.com>

* sem_type.adb, sem_type.ads (Save_Interps): Also propagate
Is_Overloaded to New_N, for consistency.

2013-10-15  Ed Schonberg  <schonberg@adacore.com>

* a-tienau.adb (Put): Use file parameter to query values of
current column and line length.

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

10 years ago2013-10-15 Robert Dewar <dewar@adacore.com>
charlet [Tue, 15 Oct 2013 10:29:47 +0000 (10:29 +0000)]
2013-10-15  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads:
Minor reformatting.

2013-10-15  Eric Botcazou  <ebotcazou@adacore.com>

* targparm.ads: Fix minor typo in comment.

2013-10-15  Ed Schonberg  <schonberg@adacore.com>

* lib-xref.adb: handle full views that are derived from private
types.
* sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS
mode: the elaboration entity is not in the source, and plays no
role in semantic analysis.  Minor reformatting.

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

10 years ago2013-10-15 Tristan Gingold <gingold@adacore.com>
charlet [Tue, 15 Oct 2013 10:28:02 +0000 (10:28 +0000)]
2013-10-15  Tristan Gingold  <gingold@adacore.com>

* adaint.c (__gnat_get_executable_load_address): Remove AIX
specific code.

2013-10-15  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Aggr_Size_OK): Refine criteria to better handle
large static aggregates with static record components, to avoid
generating a large number of asignments.  Conversely, improve
handling of aggregates initialized by a single association,
which are most efficiently implemented with a loop.

2013-10-15  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Input_Item): Emit an
error when the input item comes from the related package.

2013-10-15  Arnaud Charlet  <charlet@adacore.com>

* exp_ch11.adb (Expand_Exception_Handlers): Restrict previous
change.

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

10 years ago2013-10-15 Richard Biener <rguenther@suse.de>
rguenth [Tue, 15 Oct 2013 10:21:32 +0000 (10:21 +0000)]
2013-10-15  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (build_empty_rdg): Inline into
single user.
(rdg_flag_vertex): Inline into single user.
(rdg_flag_vertex_and_dependent): Likewise.
(build_rdg_partition_for_vertex): Remove processed bitmap.
(rdg_build_partitions): Simplify.

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

10 years ago2013-10-15 Richard Biener <rguenther@suse.de>
rguenth [Tue, 15 Oct 2013 10:20:58 +0000 (10:20 +0000)]
2013-10-15  Richard Biener  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
Restructure forwarding through conversions and copies to
avoid performing copy-propagation the wrong way.  Adjust
recursion invocations.
(forward_propagate_addr_expr): Add argument stating if we
are recursing from a single-use.
(ssa_forward_propagate_and_combine): Adjust.

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

10 years ago[gcc/testsuite/]
ktkachov [Tue, 15 Oct 2013 08:32:17 +0000 (08:32 +0000)]
[gcc/testsuite/]
2013-10-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* c-c++-common/cpp/openmp-define-3.c: Move effective target check
after other directives.

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

10 years agoAdd missing file from previous commit r203586:
burnus [Tue, 15 Oct 2013 06:20:01 +0000 (06:20 +0000)]
Add missing file from previous commit r203586:
2013-10-15  Tobias Burnus  <burnus@net-b.de>
        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_11.f90: New.

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

10 years ago2013-10-15 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 15 Oct 2013 06:14:35 +0000 (06:14 +0000)]
2013-10-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
        of CLASS(*) variables.

2013-10-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_11.f90: New.

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

10 years agoDaily bump.
gccadmin [Tue, 15 Oct 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

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

10 years agoruntime: Don't clobber saved context when catching signal.
ian [Mon, 14 Oct 2013 22:52:55 +0000 (22:52 +0000)]
runtime: Don't clobber saved context when catching signal.

* go-gcc.cc (Gcc_backend::address_expression): New function.

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

10 years agoUpdate Go testsuite to a copy of the Go 1.1.2 testsuite.
ian [Mon, 14 Oct 2013 21:24:30 +0000 (21:24 +0000)]
Update Go testsuite to a copy of the Go 1.1.2 testsuite.

* go.test/go-test.exp (go-find-packages): New proc.
(go-gc-tests): Skip stress and safe tests.  Skip *.dir
subdirectories.  Do simple +build line matching.  Handle run with
arguments.  Handle errorcheckdir and rundircmpout.  Use packages
for rundir.  Remove special handling for bug191 and dwarf.

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

10 years agoruntime: Don't clobber saved context when catching signal.
ian [Mon, 14 Oct 2013 21:02:52 +0000 (21:02 +0000)]
runtime: Don't clobber saved context when catching signal.

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

10 years ago2013-10-14 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 14 Oct 2013 17:26:17 +0000 (17:26 +0000)]
2013-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58658
        * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
        for CLASS(*).

2013-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58658
        * gfortran.dg/unlimited_polymorphic_10.f90: New.

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

10 years agoIntroduce gcc::dump_manager class
dmalcolm [Mon, 14 Oct 2013 16:15:38 +0000 (16:15 +0000)]
Introduce gcc::dump_manager class

gcc/
* dumpfile.h (gcc::dump_manager): New class, to hold state
relating to dumpfile management.
(get_dump_file_name): Remove in favor of method of dump_manager.
(dump_initialized_p): Likewise.
(dump_start): Likewise.
(dump_finish): Likewise.
(dump_switch_p): Likewise.
(dump_register): Likewise.
(get_dump_file_info): Likewise.
* context.c (gcc::context::context): Construct the dump_manager
instance.
* context.h (gcc::context::get_dumps): New.
(gcc::context::m_dumps): New.
* coverage.c (coverage_init): Port to dump_manager API.
* dumpfile.c (extra_dump_files): Convert to field of
gcc::dump_manager.
(extra_dump_files_in_use): Likewise.
(extra_dump_files_alloced): Likewise.
(gcc::dump_manager::dump_manager): New.
(dump_register): Convert to...
(gcc::dump_manager::dump_register): ...method, replacing
function-static next_dump with m_next_dump field.
(get_dump_file_info): Convert to...
(gcc::dump_manager::get_dump_file_info): ...method.
(get_dump_file_name): Convert to...
(gcc::dump_manager::get_dump_file_name): ...method.
(dump_start): Convert to...
(gcc::dump_manager::dump_start): ...method.
(dump_finish): Convert to...
(gcc::dump_manager::dump_finish): ...method.
(dump_begin): Replace body with...
(gcc::dump_manager::dump_begin): ...new method.
(dump_phase_enabled_p): Convert to...
(gcc::dump_manager::dump_phase_enabled_p): ...method.
(dump_phase_enabled_p): Convert to...
(gcc::dump_manager::dump_phase_enabled_p): ...method.
(dump_initialized_p):  Convert to...
(gcc::dump_manager::dump_initialized_p): ...method.
(dump_flag_name): Replace body with...
(gcc::dump_manager::dump_flag_name): ...new method.
(dump_enable_all): Convert to...
(gcc::dump_manager::dump_enable_all): ...new method.
(opt_info_enable_passes): Convert to...
(gcc::dump_manager::opt_info_enable_passes): ...new method.
(dump_switch_p_1): Convert to...
(gcc::dump_manager::dump_switch_p_1): ...new method.
(dump_switch_p):  Convert to...
(gcc::dump_manager::dump_switch_p): ...new method.
(opt_info_switch_p): Port to dump_manager API.
(enable_rtl_dump_file): Likewise.
* opts-global.c (handle_common_deferred_options): Port to new
dump_manager API.
* passes.c (pass_manager::finish_optimization_passes): Likewise.
(pass_manager::register_one_dump_file): Likewise.
(pass_manager::register_pass): Likewise.
(pass_init_dump_file): Likewise.
(pass_fini_dump_file): Likewise.
* statistics.c (statistics_early_init): Likewise.

gcc/java/

* lang.c (java_handle_option): Update for introduction of
gcc::dump_manager.

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

10 years agoComplete previous change.
charlet [Mon, 14 Oct 2013 14:38:00 +0000 (14:38 +0000)]
Complete previous change.

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

10 years ago2013-10-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Oct 2013 14:32:24 +0000 (14:32 +0000)]
2013-10-14  Richard Biener  <rguenther@suse.de>

lto/
* lto.c (gimple_canonical_types): Move out-of GC space.
(canonical_type_hash_cache): Make a pointer-map.
(num_canonical_type_hash_entries, num_canonical_type_hash_queries):
New counters.
(iterative_hash_canonical_type): Adjust.
(read_cgraph_and_symbols): Likewise.
(print_lto_report_1): Likewise.

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

10 years ago * gcc-interface/trans.c: Synchronize declarations of other/all others
charlet [Mon, 14 Oct 2013 14:24:44 +0000 (14:24 +0000)]
* gcc-interface/trans.c: Synchronize declarations of other/all others
between gigi and the runtime.

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

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 14:02:14 +0000 (14:02 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/gigi.h (standard_datatypes): Add
ADT_set_exception_parameter_decl
(set_exception_parameter_decl): New macro.
* gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl.
(Exception_Handler_to_gnu_zcx): Initialize the choice parameter.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:53:02 +0000 (13:53 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Find_Stream_Subprogram): Optimize
Storage_Array stream handling.
(Find_Stream_Subprogram): Optimize Stream_Element_Array stream handling
* rtsfind.ads: Add entry for Stream_Element_Array Add
entries for RE_Storage_Array subprograms Add entries for
RE_Stream_Element_Array subprograms
* s-ststop.ads, s-ststop.adb: Add processing for System.Storage_Array.
Add processing for Ada.Stream_Element_Array.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* a-except-2005.ads, a-except-2005.adb:
(Get_Exception_Machine_Occurrence): New function.
* raise-gcc.c (__gnat_unwind_exception_size): New constant.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:51:45 +0000 (13:51 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* sem_res.adb: Minor fix to error message text.
* errout.ads, erroutc.ads: Minor reformatting.
* s-ststop.ads, s-stratt.ads: Clean up documentation of block IO
mode for streams.
* s-stratt-xdr.adb: Minor comment update.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:50:16 +0000 (13:50 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* sem_aux.adb, sem_aux.ads, sem_prag.adb: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Actuals): Add error message for a
subprogram with an in-out parameter when used in a predicate,
to clarify subsequent error at the point of call.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:49:15 +0000 (13:49 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Is_Matching_Input): Consume a matching null input.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:47:38 +0000 (13:47 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Record): Don't give warning about packed
and foreign convention.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_aux.adb, sem_aux.ads (Package_Specification): New function, to
replace the less efficient idiom Specification.
(Unit_Declaration_Node (Pack_Id)), which handles library units and
child units.
* sem_ch3.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_ch6.adb,
exp_disp.adb, sem_cat.adb, exp_dist.adb: Use Package_Specification.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_Update_Attribute): Update the call to
Process_Range_Update.
(Process_Range_Update): Add new formal parameter Typ and associated
comment on usage. Add local constant Index_Typ. Add a type conversion
as part of the indexed component to ensure that the loop variable
corresponds to the index type.

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

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 13:43:51 +0000 (13:43 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb: Adjust comment.
(Others_Value, All_Others_Value,
Unhandled_Others_Value): Declare as Character to slightly reduce
memory footprint.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Size_Known): Size is not known for packed record
with aliased components

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:42:26 +0000 (13:42 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor fix to error message.
* a-exexpr-gcc.adb, sem_util.adb, sem_case.adb, exp_ch11.adb: Minor
reformatting.

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

10 years ago2013-10-14 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 14 Oct 2013 13:40:56 +0000 (13:40 +0000)]
2013-10-14  Arnaud Charlet  <charlet@adacore.com>

* exp_ch11.adb: Fix typo.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

* exp_util.ads: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Record_Type): Reject full views
with no explicit discriminant constraints, when the parents of
the partial view and the full view are constrained subtypes with
different constraints.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Array_Type): New procedure, abstracts out
this code from Freeze.
(Freeze_Array_Type): Detect pragma Pack overriding foreign convention
(Freeze_Record_Type): Ditto.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:39:16 +0000 (13:39 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Dependency_Clause): Add new local variable
Non_Null_Output_Seen.  Update the call to Analyze_Input_Output.
(Analyze_Input_Item): Streamline the detection mechanism of null and
non-null items.
(Analyze_Input_List): Add new local variable
Non_Null_Input_Seen. Update all calls to Analyze_Input_Output.
(Analyze_Input_Output): Add new formal parameter Non_Null_Seen
and update the related comment on usage. Update the
recursive call to itself. Attribute 'Result is now treated
as a non-null item. Detect mixes of null and non-null items.
(Analyze_Initialization_Item): Streamline the detection mechanism
of null and non-null items.

2013-10-14  Vincent Celier  <celier@adacore.com>

* projects.texi: Add documentation for the new project level
attribute Library_Rpath_Options.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure.
(Set_Foreign_Occurrence): New procedure, extracted from
Setup_Current_Excep.
* exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice
parameter in case of zcx.
* sem_ch11.adb (Analyze_Exception_Handlers): Need debug info
for the choice parameter.
* raise-gcc.c: Add comments.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:33:48 +0000 (13:33 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb: Add an entry in table Canonical_Aspect for
Initial_Condition.
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
Aspect_Names and Aspect_Delay for Initial_Condition.
* einfo.adb (Get_Pragma): Include pragma Initial_Condition to
categorization pragmas.
* einfo.ads (Get_Pragma): Update comment on usage.
* exp_ch7.adb (Expand_N_Package_Body): Add a runtime check to
verify the assertion introduced by pragma Initial_Condition.
(Expand_N_Package_Declaration): Add a runtime check to
verify the assertion introduced by pragma Initial_Condition.
(Expand_Pragma_Initial_Condition): New routine.
* par-prag: Include pragma Initial_Condition to the list of
pragmas that do not require special processing by the parser.
* sem_ch3.adb (Analyze_Declarations): Analyze pragma
Initial_Condition at the end of the visible declarations.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Initial_Condition.
(Check_Aspect_At_Freeze_Point):
Aspect Initial_Condition does not need inspection at freezing.
* sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part):
New routine.
(Analyze_Pragma): Update all calls
to Check_Declaration_Order. Add processing for pragma
Initial_Condition. Initial_Condition is now a valid assertion
kind.  Add an entry in table Sig_Flags for Initial_Condition.
(Check_Declaration_Order): Reimplemented to handle arbitrary
pragmas.
(Is_Valid_Assertion_Kind): Add an entry for
Initial_Condition.
* sem_pag.ads (Analyze_Initial_Condition_In_Decl_Part):
New routine.
* sem_util.adb (Add_Contract_Item): Pragma Initial_Condition
can now be associated with a package spec.
* sem_util.ads (Add_Contract_Item): Update comment on usage.
* sinfo.ads: Update the documentation of node N_Contract
* snames.ads-tmpl: Add new predefined name Initial_Condition. Add
new pragma id for Initial_Condition.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

* exp_pakd.adb: Minor reformatting.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:31:52 +0000 (13:31 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_case.adb (Check_Against_Predicate): Handle properly an
others clause in various cases.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Matching_Constituent): Do
not inspect the hidden states if there are no hidden states. This
case arises when the constituents are states coming from a
private child.

2013-10-14  Doug Rupp  <rupp@adacore.com>

* init.c [ARMEL and VxWorks] (__gnat_map_signal): Re-arm guard
page by clearing VALID bit vice setting page protection.

2013-10-14  Arnaud Charlet  <charlet@adacore.com>

* gnat_rm.texi, adaint.c: Fix typo.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Variable, In_Protected_Function):  In the
body of a protected function, the protected object itself is a
constant (not just its components).

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

10 years ago2013-10-14 Vincent Celier <celier@adacore.com>
charlet [Mon, 14 Oct 2013 13:29:23 +0000 (13:29 +0000)]
2013-10-14  Vincent Celier  <celier@adacore.com>

* snames.ads-tmpl: Add new standard name Library_Rpath_Options.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): Allow importing
of exception using convention Cpp.
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Expand cpp
imported exceptions.
* raise-gcc.c (is_handled_by): Filter C++ exception occurrences.
* gnat_rm.texi: Document how to import C++ exceptions.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

* sem_ch13.adb (Sem_Ch13.Analyze_Aspect_Specification): For
Priority and CPU aspects, when checking, issue a warning only
if it is obviously not a main program.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* adaint.c: Fix condition for AIX. Minor reformatting.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:26:07 +0000 (13:26 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_prag.adb, prj.ads: Minor reformatting.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:24:49 +0000 (13:24 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part):
Rename Outputs_Seen to All_Outputs_Seen and update all occurrences
of the variable.
(Analyze_Input_Output): Add an item to
All_Inputs_Seen when it is an input or a self-referential output.
(Check_Mode): Comment reformatting.
(Analyze_Abstract_State): Remove the restriction that an Export state
must also have mode Input_Only or Output_Only.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:23:50 +0000 (13:23 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Flag 263 is now known as Has_Visible_Refinement.
(Has_Non_Null_Refinement): New routine.
(Has_Null_Refinement): The routine is now synthesized.
(Has_Visible_Refinement): New routine.
(Set_Has_Visible_Refinement): New routine.
(Write_Entity_Flags): Remove the output for
Has_Null_Refinement. Add output for Has_Visible_Refinement.
* einfo.ads: Update the occurrences of Has_Non_Null_Refinement,
Has_Null_Refinement and Has_Visible_Refinement in entities.
(Has_Non_Null_Refinement): New synthesized attribute.
(Has_Null_Refinement): This attribute is now synthesized.
(Has_Visible_Refinement): New routine with corresponding
pragma Inline.
(Set_Has_Visible_Refinement): New routine with corresponding pragma
Inline.
* sem_ch3.adb (Analyze_Declarations): Add new local
variable In_Package_Body. Remove state refinements from
visibility at the end of the package body declarations.
(Remove_Visible_Refinements): New routine.
* sem_prag.adb (Analyze_Constituent): Collect a null
constituent and mark the state as having visible refinement.
(Analyze_Global_Item): Use attribute Has_Visible_Refinement to
detect a state with visible refinement.
(Analyze_Input_Output): Use attribute Has_Visible_Refinement to detect
a state with visible refinement.
(Check_Dependency_Clause): Use attribute Has_Non_Null_Refinement rather
than checking the contents of list Refinement_Constituents.
(Check_In_Out_States): Use attribute Has_Non_Null_Refinement rather
than checking the contents of list Refinement_Constituents.
(Check_Input_States): Use attribute Has_Non_Null_Refinement rather
than checking the contents of list Refinement_Constituents.
(Check_Matching_Constituent): Mark a state as having visible refinement.
(Check_Output_States): Use attribute Has_Non_Null_Refinement rather than
checking the contents of list Refinement_Constituents.
(Check_Refined_Global_Item): Use attribute Has_Visible_Refinement
to detect a state with visible refinement.
(Is_Matching_Input): Use attribute Has_Non_Null_Refinement rather than
checking the contents of list Refinement_Constituents.
* sem_util.adb (Is_Refined_State): Use attribute
Has_Visible_Refinement to detect a state with visible refinement.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:21:37 +0000 (13:21 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Mode): Do not emit an
error when inspecting a self referencial output item of an
unconstrained type.

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

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 13:20:51 +0000 (13:20 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Fix
target type for code of VMS imported exception.
* init.c: Replace Exception_Code by void *.
* s-vmexta.adb (Hash, Base_Code_In): Adjust code after changing
the type of Exception_Code.

2013-10-14  Vincent Celier  <celier@adacore.com>

* prj.ads: Minor comment updates.
* prj-attr.adb: New attribute Library_Rpath_Options.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:19:17 +0000 (13:19 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Library_Level attribute now applies to an
entity name.
* sem_attr.adb (Analyze_Attribute, case Library_Level): Prefix
is now an entity name.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specification): For
Priority and CPU aspects in subprograms, the expression in the
aspect is analyzed and exported.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:16:59 +0000 (13:16 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* s-valuti.adb, prep.adb, scng.adb, errout.adb: Minor reformatting.

2013-10-14  Eric Botcazou  <ebotcazou@adacore.com>

* adaint.c: Further disable __gnat_get_executable_load_address
for Linux.

2013-10-14  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Add documentation for comparing symbols to
integers in preprocessing expressions.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

* sem_prag.adb (Analyze_Aspect_Specification): For
Priority and CPU aspects in subprograms, the expression in the
aspect is analyzed and exported.
(Analyze_Pragma): When having a Priority pragma in the
main subprogram, load a unit that will force the initialization
of the tasking run time, which is needed for setting the required
priority.

2013-10-14  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Interfaces): Put in Other_Interfaces all
non Ada interface files.
* prj.ads (Project_Data): New component Other_Interfaces.

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

10 years ago * gcc-interface/Makefile.in: Target pairs clean ups.
charlet [Mon, 14 Oct 2013 13:14:36 +0000 (13:14 +0000)]
* gcc-interface/Makefile.in: Target pairs clean ups.

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

10 years ago2013-10-14 Vincent Celier <celier@adacore.com>
charlet [Mon, 14 Oct 2013 13:13:55 +0000 (13:13 +0000)]
2013-10-14  Vincent Celier  <celier@adacore.com>

* errout.adb (Write_Error_Summary): Do not output the number
of lines when Main_Source_File is unknown.
(Output_Messages): Do not write the header when Main_Source_File is
unknown.

2013-10-14  Vincent Celier  <celier@adacore.com>

* prep.adb (Expression): Accept terms of the form 'symbol <relop>
integer", where relop is =, <, <=, > or >=.
(Parse_Def_File): Accept literal integer values.
* gcc-interface/Make-lang.in: Add s-valint.o, s-valuns.o and
s-valuti.o to the compiler object files.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:10:22 +0000 (13:10 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, exp_ch11.adb, s-exctab.adb: Minor reformatting.
* usage.adb: Add line for -gnateu switch.

2013-10-14  Vincent Celier  <celier@adacore.com>

* lib-writ.ads: Add comments to indicate that a path name in
D lines may be quoted if the path name includes directories
with spaces.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* debug.adb: Document -gnatd.E.
* gnat1drv.adb (Adjust_Global_Switches): Set Error_To_Warning
if -gnatd.E set.
* opt.ads (Error_To_Warning): New switch.
* osint.adb: Minor reformatting.
* sem_warn.adb (Warn_On_Overlapping_Actuals): Overlap is error
in some cases in Ada 2012 mode (unless Error_To_Warning) is set.
* sem_warn.ads (Warn_On_Overlapping_Actuals): Document error
in Ada 2012 mode.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* cstand.adb: Add a comment for Standard_Exception_Type.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Process_Transient_Object): If a transient scope
has already been created, use the corresponding Node_To_Be_Wrapped
as the insertion point for the controlled actions.

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

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 13:06:44 +0000 (13:06 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* cstand.adb (Create_Standard): Change Import_Code component
of Standard_Exception_Type to Foreign_Data. Its type is now
Standard_A_Char (access to character).
* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust
definition of Code to match the type of Foreign_Data.
* s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data
Change the definition of standard predefined exceptions.
(Exception_Code): Remove.
* raise.h (Exception_Code): Remove (Exception_Data): Replace
Import_Code field by Foreign_Data.
* rtsfind.ads (RE_Exception_Code): Remove
(RE_Import_Address): Add.
* a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For.
* exp_ch11.adb (Expand_N_Exception_Declaration): Associate null
to Foreign_Data component.
* raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For.
(is_handled_by): Add comments. Use replaced function. Change
condition so that an Ada occurrence is never handled by
Foreign_Exception.
* s-exctab.adb (Internal_Exception): Associate Null_Address to
Foreign_Data component.
* s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace
SSL.Exception_Code by Exception_Code.

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

10 years agoFix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler
ro [Mon, 14 Oct 2013 13:06:27 +0000 (13:06 +0000)]
Fix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler

* gcc.dg/torture/pr58670.c (ASM_STR) [__i386__ || __x86_64__]: Use
btsl.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:01:34 +0000 (13:01 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Document -gnateu switch.
* opt.ads (Ignore_Unrecognized_VWY_Switches): New switch.
* stylesw.adb: Ignore unrecognized switch if
Ignore_Unrecognized_VWY_Switches set.
* switch-c.adb: Implement -gnateu (sets
Ignore_Unrecognized_VWY_Switches).
* validsw.adb: Ignore unrecognized switch if
Ignore_Unrecognized_VWY_Switches set.
* warnsw.adb: Ignore unrecognized switch if
Ignore_Unrecognized_VWY_Switches set.

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

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 12:58:07 +0000 (12:58 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor
reformatting.

2013-10-14  Vincent Celier  <celier@adacore.com>

* ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted,
defaulted to False.  Calls Get_Name with May_Be_Quoted.
(Get_Name): New Boolean parameter May_Be_Quoted, defaulted to
False. If May_Be_Quoted is True and first non blank charater is
'"', unquote the name.
(Scan_ALI): For the file/path name on the D line, call Get_File_Name
with May_Be_Quoted = True, as it may have been quoted.
* lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New
procedure to write file/path names that may contain spaces and if they
do are quoted.
* lib-writ.adb (Write_ALI): Use new procedure
Write_Info_Name_May_Be_Quoted to write file/path names on D lines.

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

10 years ago2013-10-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Oct 2013 12:57:11 +0000 (12:57 +0000)]
2013-10-14  Richard Biener  <rguenther@suse.de>

lto/
* lto.c (gimple_types, type_hash_cache, struct type_pair_d,
type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
gtc_next_dfs_num, compare_type_names_p, gtc_visit,
gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type, num_not_merged_types,
num_not_merged_types_in_same_scc, num_not_merged_types_trees,
num_not_merged_types_in_same_scc_trees): Remove old merging code
and statistics.
(lto_read_decls): Do not run old merging code in parallel.
(read_cgraph_and_symbols): Do not init/free old merging
data structures.
(print_lto_report_1): Do not report differences of old vs. new
merging code.

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

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 12:55:37 +0000 (12:55 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part,
Analyze_Global_In_Decl_Part,
Analyze_Pre_Post_Condition_In_Decl_Part): Install the subprogram
and its formals only when it is not already installed.
* sem_util.adb (Is_Refined_State): A state is refined when it
has a non-empty list of constituents.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* adaint.c: Disable __gnat_get_executable_load_address for linux.
* exp_prag.adb: Add comment in Expand_Pragma_Import_Export_Exception.

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

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 12:52:31 +0000 (12:52 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* s-vmexta.ads: Add comments.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
for pragma Refined_State.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Refined_Depends.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
Use Find_Related_Subprogram_Or_Body to find the related
context. Use the current scope when determining whether to
ensure proper visibility.
(Analyze_Depends_In_Decl_Part):
Add local variable Spec_Id. Update the comment on usage of
Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
related context. Extract the corresponding spec of the body
(if any). Use the current scope when determining when to
ensure proper visibility.
(Analyze_Global_In_Decl_Part):
Add local variable Spec_Id. Update the comment on usage of
Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
related context. Extract the corresponding spec of the body
(if any). Use the current scope when determining when to
ensure proper visibility.
(Analyze_Global_Item): Use the
entity of the subprogram spec when performing formal parameter
checks. Perform state-related checks.
(Analyze_Input_Output):
Use Is_Attribute_Result to detect 'Result. Query the
entity of a subprogram spec when verifying the prefix of
'Result. Perform state-related checks. (Analyze_Pragma):
Merge the analysis of Refined_Depends and Refined_Global.
(Analyze_Refined_Depends_In_Decl_Part): Provide implemenation.
(Analyze_Refined_Global_In_Decl_Part): Move state-related checks
to the body of Analyze_Global_In_Decl_Part. Rename local constant
List to Items. (Analyze_Refined_Pragma): Remove circuitry to
find the proper context, use Find_Related_Subprogram_Or_Body
instead.
(Check_Function_Return): Query the entity of
the subprogram spec when verifying the use of 'Result.
(Check_In_Out_States, Check_Input_States, Check_Output_States):
Avoid using Has_Null_Refinement to detect a state with
a non-null refinement, use the Refinement_Constituents
list instead.
(Check_Matching_Constituent): Remove initialization code.
(Check_Mode_Restriction_In_Function): Use the entity of the subprogram
spec when verifying mode usage in functions.
(Collect_Global_Items): New routine.
(Collect_Subprogram_Inputs_Outputs): Add local
variable Spec_Id. Add circuitry for bodies-as-specs. Use
pragma Refined_Global when collecting for a body.
(Create_Or_Modify_Clause): Use the location of the
clause. Rename local variable Clause to New_Clause to avoid
confusion and update all occurrences.  Use Is_Attribute_Result
to detect 'Result.
(Find_Related_Subprogram): Removed.
(Find_Related_Subprogram_Or_Body): New routine.
(Is_Part_Of): Move routine to top level.
(Normalize_Clause): Update the
comment on usage. The routine can now normalize a clause with
multiple outputs by splitting it.
(Collect_Global_Items):
Rename local constant List to Items. Remove the check for
a null list.
(Requires_Profile_Installation): Removed.
(Split_Multiple_Outputs): New routine.
* sem_prag.ads: Update the comments on usage of various
pragma-related analysis routines.
* sem_util.adb (Contains_Refined_State): The routine can now
process pragma [Refined_]Depends.
(Has_Refined_State): Removed.
(Has_State_In_Dependency): New routine.
(Has_State_In_Global): New routine.
(Is_Attribute_Result): New routine.
* sem_util.ads (Is_Attribute_Result): New routine.

2013-10-14  Emmanuel Briot  <briot@adacore.com>

* s-regpat.adb (Compile): Fix finalization of the automaton
when its size was automatically computed to be exactly 1000 bytes.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): If the full view of
the base type is constrained, the full view of the subtype is
known to be constrained as well.

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