platform/upstream/gcc.git
10 years ago[AArch64] Fix output template for Scalar Neon->Neon register move.
James Greenhalgh [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.

From-SVN: r203711

10 years agore PR tree-optimization/58697 (wrong code (segfaults) at -O3)
Andrew MacLeod [Wed, 16 Oct 2013 15:48:47 +0000 (15:48 +0000)]
re PR tree-optimization/58697 (wrong code (segfaults) at -O3)

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.

From-SVN: r203709

10 years agogengtype: Ignore access-control keywords when parsing fields
David Malcolm [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).

From-SVN: r203708

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

From-SVN: r203707

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

From Uros Bizjak.

From-SVN: r203703

10 years agopt.c (tsubst): Fix typo in last commit.
Paolo Carlini [Wed, 16 Oct 2013 12:04:50 +0000 (12:04 +0000)]
pt.c (tsubst): Fix typo in last commit.

2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r203701

10 years agopt.c (tsubst): Fix typo in last commit.
Paolo Carlini [Wed, 16 Oct 2013 11:56:01 +0000 (11:56 +0000)]
pt.c (tsubst): Fix typo in last commit.

2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r203700

10 years agoarm.opt (mlra): New option.
Yvan Roux [Wed, 16 Oct 2013 11:36:18 +0000 (11:36 +0000)]
arm.opt (mlra): New option.

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.

From-SVN: r203698

10 years agoopenmp-define-1.c: Move dg-require-effective-target fopenmp after dg-do directive.
Thomas Schwinge [Wed, 16 Oct 2013 10:53:36 +0000 (12:53 +0200)]
openmp-define-1.c: Move dg-require-effective-target fopenmp after dg-do directive.

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.

From-SVN: r203697

10 years agotree-core.h (tree_code_name): Remove.
Paulo Matos [Wed, 16 Oct 2013 10:09:17 +0000 (10:09 +0000)]
tree-core.h (tree_code_name): Remove.

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.

From-SVN: r203695

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

From-SVN: r203694

10 years agotree-prof.exp: Fix comment.
Paulo Matos [Wed, 16 Oct 2013 09:50:21 +0000 (09:50 +0000)]
tree-prof.exp: Fix comment.

* gcc.dg/tree-prof/tree-prof.exp: Fix comment.

From-SVN: r203693

10 years agoFor CRIS ports, switch to soft-fp. Improve arit.c and longlong.h.
Hans-Peter Nilsson [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.

From-SVN: r203640

10 years ago* config/cris/t-elfmulti (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
Hans-Peter Nilsson [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.

From-SVN: r203639

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

From-SVN: r203638

10 years agointrinsic.texi (OpenMP Modules): Update to OpenMPv4.
Tobias Burnus [Tue, 15 Oct 2013 22:08:46 +0000 (00:08 +0200)]
intrinsic.texi (OpenMP Modules): Update to OpenMPv4.

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.

From-SVN: r203635

10 years agore PR target/57756 (Function target attribute is retaining state of previously seen...
Sriraman Tallam [Tue, 15 Oct 2013 21:43:21 +0000 (21:43 +0000)]
re PR target/57756 (Function target attribute is retaining  state of previously seen function)

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.

From-SVN: r203634

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

From-SVN: r203633

10 years agoAdd --enable-host-shared configuration option
David Malcolm [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.

From-SVN: r203632

10 years agoAdd missing function in 20_util/exchange/1.cc.
Diego Novillo [Tue, 15 Oct 2013 18:51:37 +0000 (14:51 -0400)]
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.

From-SVN: r203629

10 years agotree-tailcall.c (find_tail_calls): Don't use tail-call recursion for built-in functions.
Richard Sandiford [Tue, 15 Oct 2013 18:24:30 +0000 (18:24 +0000)]
tree-tailcall.c (find_tail_calls): Don't use tail-call recursion for built-in functions.

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.

From-SVN: r203628

10 years agotree-ssa-reassoc.c: Include rtl.h and tm_p.h.
Zhenqiang Chen [Tue, 15 Oct 2013 17:48:44 +0000 (17:48 +0000)]
tree-ssa-reassoc.c: Include rtl.h and tm_p.h.

* 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.

From-SVN: r203627

10 years agotree-vect-loop.c (vect_is_simple_reduction_1): Relax the requirement of the reduction...
Cong Hou [Tue, 15 Oct 2013 17:17:43 +0000 (13:17 -0400)]
tree-vect-loop.c (vect_is_simple_reduction_1): Relax the requirement of the reduction pattern so that one operand of the ...

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.

From-SVN: r203625

10 years agore PR c++/58707 ([C++11] A greater-than operator in square brackets should not end...
Paolo Carlini [Tue, 15 Oct 2013 16:36:11 +0000 (16:36 +0000)]
re PR c++/58707 ([C++11] A greater-than operator in square brackets should not end a template argument list)

/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.

From-SVN: r203624

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

From-SVN: r203622

10 years ago[ARM] [Neon types 10/10] Remove neon-schedgen.ml
James Greenhalgh [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.

From-SVN: r203621

10 years ago[ARM] [Neon types 9/10] Remove old neon types
James Greenhalgh [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.

From-SVN: r203620

10 years ago[ARM] [Neon types 8/10] Cortex-A7 neon pipeline model
James Greenhalgh [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.

From-SVN: r203619

10 years ago[ARM] [Neon types 7/10] Cortex-A15 neon pipeline changes
James Greenhalgh [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.

From-SVN: r203618

10 years ago[ARM] [Neon types 6/10] Cortex-A9 neon pipeline changes
James Greenhalgh [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.

From-SVN: r203617

10 years ago[ARM] [Neon types 5/10] Update Cortex-A8 pipeline model
James Greenhalgh [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.

From-SVN: r203616

10 years ago[AArch64] [Neon types 4/10] Add type attributes to all simd insns
James Greenhalgh [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.

From-SVN: r203614

10 years ago[ARM] [Neon types 3/10] Update Current type attributes to new Neon Types.
James Greenhalgh [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.

From-SVN: r203613

10 years ago[AArch64] [Neon types 2/10] Update Current type attributes to new Neon Types.
James Greenhalgh [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.

From-SVN: r203612

10 years ago[ARM] [Neon Types 1/10] Add new types to describe Neon insns.
James Greenhalgh [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.

From-SVN: r203611

10 years agore PR libstdc++/58737 (leak in std::regex_match)
Tim Shen [Tue, 15 Oct 2013 15:01:44 +0000 (15:01 +0000)]
re PR libstdc++/58737 (leak in std::regex_match)

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.

From-SVN: r203610

10 years agosse.md (unspec): Add UNSPEC_RCP14...
Alexander Ivchenko [Tue, 15 Oct 2013 14:33:34 +0000 (14:33 +0000)]
sse.md (unspec): Add UNSPEC_RCP14...

* 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.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203609

10 years agoipa-utils.h (ipa_edge_within_scc): Declare.
Martin Jambor [Tue, 15 Oct 2013 14:15:07 +0000 (16:15 +0200)]
ipa-utils.h (ipa_edge_within_scc): Declare.

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.

From-SVN: r203607

10 years agopredicates.md (const_8_to_15_operand): New.
Alexander Ivchenko [Tue, 15 Oct 2013 13:54:52 +0000 (13:54 +0000)]
predicates.md (const_8_to_15_operand): New.

       * 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.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203606

10 years agopredicates.md (register_or_constm1_operand): New.
Alexander Ivchenko [Tue, 15 Oct 2013 13:51:56 +0000 (13:51 +0000)]
predicates.md (register_or_constm1_operand): New.

        * 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.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203605

10 years agosse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2, UNSPEC_SCATTER.
Alexander Ivchenko [Tue, 15 Oct 2013 13:49:55 +0000 (13:49 +0000)]
sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2, UNSPEC_SCATTER.

        * 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.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r203604

10 years agoAdd A profile only multilib make file fragment.
Matthew Gretton-Dann [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.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r203603

10 years agolto.c (hash_canonical_type): Split out from ...
Richard Biener [Tue, 15 Oct 2013 11:13:04 +0000 (11:13 +0000)]
lto.c (hash_canonical_type): Split out from ...

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.

From-SVN: r203600

10 years ago[multiple changes]
Arnaud Charlet [Tue, 15 Oct 2013 11:01:03 +0000 (13:01 +0200)]
[multiple changes]

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.

From-SVN: r203598

10 years agoFix a miscompilation where a reload reg is reused after it has been clobbered.
Bernd Schmidt [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.

From-SVN: r203596

10 years ago[multiple changes]
Arnaud Charlet [Tue, 15 Oct 2013 10:33:29 +0000 (12:33 +0200)]
[multiple changes]

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.

From-SVN: r203595

10 years ago[multiple changes]
Arnaud Charlet [Tue, 15 Oct 2013 10:29:47 +0000 (12:29 +0200)]
[multiple changes]

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.

From-SVN: r203594

10 years ago[multiple changes]
Arnaud Charlet [Tue, 15 Oct 2013 10:28:02 +0000 (12:28 +0200)]
[multiple changes]

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.

From-SVN: r203593

10 years agotree-loop-distribution.c (build_empty_rdg): Inline into single user.
Richard Biener [Tue, 15 Oct 2013 10:21:32 +0000 (10:21 +0000)]
tree-loop-distribution.c (build_empty_rdg): Inline into single user.

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.

From-SVN: r203592

10 years agotree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure forwarding through...
Richard Biener [Tue, 15 Oct 2013 10:20:58 +0000 (10:20 +0000)]
tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure forwarding through conversions and copies to avoid performing...

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.

From-SVN: r203591

10 years agoopenmp-define-3.c: Move effective target check after other directives.
Kyrylo Tkachov [Tue, 15 Oct 2013 08:32:17 +0000 (08:32 +0000)]
openmp-define-3.c: Move effective target check after other directives.

[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.

From-SVN: r203588

10 years agoAdd missing file from previous commit r203586:
Tobias Burnus [Tue, 15 Oct 2013 06:20:01 +0000 (08:20 +0200)]
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.

From-SVN: r203587

10 years agore PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)
Tobias Burnus [Tue, 15 Oct 2013 06:14:35 +0000 (08:14 +0200)]
re PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)

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.

From-SVN: r203586

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

From-SVN: r203582

10 years agoruntime: Don't clobber saved context when catching signal.
Chris Manghane [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.

From-SVN: r203579

10 years agoUpdate Go testsuite to a copy of the Go 1.1.2 testsuite.
Ian Lance Taylor [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.

From-SVN: r203578

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

From-SVN: r203577

10 years agore PR fortran/58658 ([OOP] Pointer assignment to allocatable unlimited polymorphic...
Tobias Burnus [Mon, 14 Oct 2013 17:26:17 +0000 (19:26 +0200)]
re PR fortran/58658 ([OOP] Pointer assignment to allocatable unlimited polymorphic accepted)

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.

From-SVN: r203572

10 years agoIntroduce gcc::dump_manager class
David Malcolm [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.

From-SVN: r203569

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

From-SVN: r203567

10 years agolto.c (gimple_canonical_types): Move out-of GC space.
Richard Biener [Mon, 14 Oct 2013 14:32:24 +0000 (14:32 +0000)]
lto.c (gimple_canonical_types): Move out-of GC space.

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.

From-SVN: r203566

10 years agotrans.c: Synchronize declarations of other/all others between gigi and the runtime.
Tristan Gingold [Mon, 14 Oct 2013 14:24:44 +0000 (14:24 +0000)]
trans.c: Synchronize declarations of other/all others between gigi and the runtime.

* gcc-interface/trans.c: Synchronize declarations of other/all others
between gigi and the runtime.

From-SVN: r203565

10 years agogigi.h (standard_datatypes): Add ADT_set_exception_parameter_decl
Tristan Gingold [Mon, 14 Oct 2013 14:02:14 +0000 (14:02 +0000)]
gigi.h (standard_datatypes): Add ADT_set_exception_parameter_decl

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.

From-SVN: r203561

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:53:02 +0000 (15:53 +0200)]
[multiple changes]

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.

From-SVN: r203560

10 years agosem_res.adb: Minor fix to error message text.
Robert Dewar [Mon, 14 Oct 2013 13:51:45 +0000 (13:51 +0000)]
sem_res.adb: Minor fix to error message text.

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.

From-SVN: r203559

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:50:16 +0000 (15:50 +0200)]
[multiple changes]

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.

From-SVN: r203558

10 years agosem_prag.adb (Is_Matching_Input): Consume a matching null input.
Hristian Kirtchev [Mon, 14 Oct 2013 13:49:15 +0000 (13:49 +0000)]
sem_prag.adb (Is_Matching_Input): Consume a matching null input.

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

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

From-SVN: r203557

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:47:38 +0000 (15:47 +0200)]
[multiple changes]

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.

From-SVN: r203556

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:43:51 +0000 (15:43 +0200)]
[multiple changes]

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

From-SVN: r203555

10 years agosem_ch3.adb: Minor fix to error message.
Robert Dewar [Mon, 14 Oct 2013 13:42:26 +0000 (13:42 +0000)]
sem_ch3.adb: Minor fix to error message.

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.

From-SVN: r203554

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:40:56 +0000 (15:40 +0200)]
[multiple changes]

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.

From-SVN: r203553

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:39:16 +0000 (15:39 +0200)]
[multiple changes]

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.

From-SVN: r203552

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:33:48 +0000 (15:33 +0200)]
[multiple changes]

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.

From-SVN: r203551

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:31:52 +0000 (15:31 +0200)]
[multiple changes]

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).

From-SVN: r203550

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:29:23 +0000 (15:29 +0200)]
[multiple changes]

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.

From-SVN: r203549

10 years agosem_ch3.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 14 Oct 2013 13:26:07 +0000 (13:26 +0000)]
sem_ch3.adb, [...]: Minor reformatting.

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

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

From-SVN: r203548

10 years agosem_prag.adb (Analyze_Depends_In_Decl_Part): Rename Outputs_Seen to All_Outputs_Seen...
Hristian Kirtchev [Mon, 14 Oct 2013 13:24:49 +0000 (13:24 +0000)]
sem_prag.adb (Analyze_Depends_In_Decl_Part): Rename Outputs_Seen to All_Outputs_Seen and update all occurrences of the variable.

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.

From-SVN: r203547

10 years agoeinfo.adb: Flag 263 is now known as Has_Visible_Refinement.
Hristian Kirtchev [Mon, 14 Oct 2013 13:23:50 +0000 (13:23 +0000)]
einfo.adb: Flag 263 is now known as Has_Visible_Refinement.

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.

From-SVN: r203546

10 years agosem_prag.adb (Check_Mode): Do not emit an error when inspecting a self referencial...
Hristian Kirtchev [Mon, 14 Oct 2013 13:21:37 +0000 (13:21 +0000)]
sem_prag.adb (Check_Mode): Do not emit an error when inspecting a self referencial output item of an...

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.

From-SVN: r203545

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:20:51 +0000 (15:20 +0200)]
[multiple changes]

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.

From-SVN: r203544

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:19:17 +0000 (15:19 +0200)]
[multiple changes]

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.

From-SVN: r203543

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:16:59 +0000 (15:16 +0200)]
[multiple changes]

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.

From-SVN: r203542

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

From-SVN: r203541

10 years agoerrout.adb (Write_Error_Summary): Do not output the number of lines when Main_Source_...
Vincent Celier [Mon, 14 Oct 2013 13:13:55 +0000 (13:13 +0000)]
errout.adb (Write_Error_Summary): Do not output the number of lines when Main_Source_File is unknown.

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.

From-SVN: r203540

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 13:10:22 +0000 (15:10 +0200)]
[multiple changes]

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.

From-SVN: r203539

10 years agocstand.adb (Create_Standard): Change Import_Code component of Standard_Exception_Type...
Tristan Gingold [Mon, 14 Oct 2013 13:06:44 +0000 (13:06 +0000)]
cstand.adb (Create_Standard): Change Import_Code component of Standard_Exception_Type to Foreign_Data.

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.

From-SVN: r203538

10 years agoFix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler
Rainer Orth [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.

From-SVN: r203537

10 years agognat_ugn.texi: Document -gnateu switch.
Robert Dewar [Mon, 14 Oct 2013 13:01:34 +0000 (13:01 +0000)]
gnat_ugn.texi: Document -gnateu switch.

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.

From-SVN: r203536

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:58:07 +0000 (14:58 +0200)]
[multiple changes]

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.

From-SVN: r203534

10 years agolto.c (gimple_types, [...]): Remove old merging code and statistics.
Richard Biener [Mon, 14 Oct 2013 12:57:11 +0000 (12:57 +0000)]
lto.c (gimple_types, [...]): Remove old merging code and statistics.

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.

From-SVN: r203533

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:55:37 +0000 (14:55 +0200)]
[multiple changes]

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.

From-SVN: r203532

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:52:31 +0000 (14:52 +0200)]
[multiple changes]

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.

From-SVN: r203531

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:49:26 +0000 (14:49 +0200)]
[multiple changes]

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

* projects.texi: Add documentation for new attributes of package
Clean: Artifacts_In_Object_Dir and Artifacts_In_Exec_Dir.

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

* adaint.c, adaint.h (__gnat_get_executable_load_address):
New function.
* a-exexda.adb (Append_Info_Basic_Exception_Traceback): Add
executable load address (Basic_Exception_Tback_Maxlength): Adjust.

From-SVN: r203530

10 years agoprj-attr.adb: New attributes in package Clean: Artifacts_In_Exec_Dir, Artifacts_In_Ob...
Vincent Celier [Mon, 14 Oct 2013 12:47:59 +0000 (12:47 +0000)]
prj-attr.adb: New attributes in package Clean: Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.

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

* prj-attr.adb: New attributes in package Clean:
Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.
* prj-nmsc.adb (Process_Clean (Attributes)): New
procedure to process attributes Artifacts_In_Exec_Dir and
Artifacts_In_Object_Dir in package Clean.
* prj.ads (Project_Configuration): New components
Artifacts_In_Exec_Dir and Artifacts_In_Object_Dir.
* snames.ads-tmpl: New standard names Artifacts_In_Exec_Dir and
Artifacts_In_Object_Dir used only by gprclean.

From-SVN: r203529

10 years agoexp_attr.adb (Expand_N_Attribute_Reference): Add error entry for Library_Level attrib...
Robert Dewar [Mon, 14 Oct 2013 12:46:56 +0000 (12:46 +0000)]
exp_attr.adb (Expand_N_Attribute_Reference): Add error entry for Library_Level attribute (which should not survive to expansion)

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

* exp_attr.adb (Expand_N_Attribute_Reference): Add error
entry for Library_Level attribute (which should not survive
to expansion)
* gnat_rm.texi: Document attribute Library_Level
* sem_attr.adb (Analyze_Attribute, case Library_Level): Implement
this new attribute (Set_Boolean_Result): Replaces Set_Result
(Check_Standard_Prefix): Document that Check_E0 is called
(Check_System_Prefix): New procedure
* snames.ads-tmpl: Add entry for Library_Level attribute

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

* exp_ch6.adb, sinfo.ads: Minor reformatting.
* checks.adb (Overlap_Check): Use identifier casing in messages.

From-SVN: r203528

10 years agoeinfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type only.
Robert Dewar [Mon, 14 Oct 2013 12:45:14 +0000 (12:45 +0000)]
einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type only.

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

* einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type
only.
* exp_aggr.adb (Expand_Array_Aggregate): Handle proper
initialization of <> component.
* exp_ch3.adb, exp_tss.adb: Minor reformatting
* sem_ch13.adb (Default_Aspect_Component_Value, Default_Aspect_Value):
Is on base type only.
* sinfo.ads: Minor comment revision.

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

* g-decstr.adb (Decode_Wide_Wide_Character): Fix failure
to detect invalid sequences where longer than necessary
sequences are used for encoding.
(Validate_Wide_Character):
Call Decode_Wide_Character to get the above validations.
(Validate_Wide_Wide_Character): Same fix
* g-decstr.ads: Add documentation making it clear that the UTF-8
implementation here recognizes all valid UTF-8 sequences, rather
than the well-formed subset corresponding to characters defined
in Unicode.
(Next_Wide_Character): Remove comment about this
being more efficient than Decode_Wide_Character (because this
no longer the case).
(Prev_Wide_Character): Add note that valid encoding is assumed.

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

* a-wichha.adb (Character_Set_Version): New function.
* a-wichha.ads: Remove comments for pragma Pure (final RM has
this).
(Character_Set_Version): New function.
* gnat_rm.texi: Update doc.

From-SVN: r203527

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:42:04 +0000 (14:42 +0200)]
[multiple changes]

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

* einfo.adb: Flag263 is now known as Has_Null_Refinement.
(Has_Null_Refinement): New routine.
(Set_Has_Null_Refinement): New routine.
(Write_Entity_Flags): Output the status of flag
Has_Null_Refinement.
* einfo.ads: Add new flag Has_Null_Refinement along with
comment on usage and update all nodes subject to the flag.
(Has_Null_Refinement): New routine along with pragma Inline.
(Set_Has_Null_Refinement): New rouitine along with pragma Inline.
* sem_prag.adb (Analyze_Constituent): Mark a state as having
a null refinement when the sole constituent is "null".
(Analyze_Global_List): Handle null input/output items.
(Analyze_Refined_Global_In_Decl_Part): Add local variable
Has_Null_State. Add logic to handle combinations of states
with null refinements and null global lists and/or items.
(Check_In_Out_States, Check_Input_States, Check_Output_States):
Use attribute Has_Null_Refinement to detect states with
constituents.
(Check_Refined_Global_List): Handle null input/output items.
(Process_Global_Item): Handle states with null refinements.
(Process_Global_List): Handle null input/output items.

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

* freeze.adb (Freeze_Entity): Reset Is_True_Constant for
aliased object
* gnat_ugn.texi: Update doc on aliased variables and constants.

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

* exp_pakd.adb (Expand_Packed_Element_Reference): If the
reference is an actual in a call, the prefix has not been fully
expanded, to account for the additional expansion for parameter
passing. the prefix itself is a packed reference as well,
recurse to complete the transformation of the prefix.

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

* exp_dbug.adb (Debug_Renaming_Declaration): Do not
materialize the entity when the renamed object contains an
N_Explicit_Dereference.
* sem_ch8.adb (Analyze_Object_Renaming):
If the renaming comes from source and the renamed object is a
dereference, mark the prefix as needing debug information.

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

* system-vxworks-arm.ads (Stack_Check_Probes, Stack_Check_Limits):
Enable Stack Probes, Disable Stack Limit Checking.
* init.c [VxWorks] (__gnat_inum_to_ivec): Caste return value.
(__gnat_map_signal): Fix signature.
(__gnat_error_handler): Make
static, fix signature, remove prototype, fix prototype warning.
[ARMEL and VxWorks6] (__gnat_map_signal): Check and re-arm guard
page for storage_error.
* exp_pakd.adb: Minor reformatting.

From-SVN: r203526

10 years agosem_prag.adb (Analyze_Global_In_Decl_Part): Remove local variable Contract_Seen.
Hristian Kirtchev [Mon, 14 Oct 2013 12:39:11 +0000 (12:39 +0000)]
sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local variable Contract_Seen.

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

* sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local
variable Contract_Seen. Add local variable Proof_Seen.
(Analyze_Global_List): Remove the processing for mode
Contract_In. Add support for mode Proof_In.
(Analyze_Pragma): Update the grammar of pragmas Global and
Refined_Global.
* snames.ads-tmpl: Remove predefined name Contract_In. Add
predefined name Proof_In.

From-SVN: r203525

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:37:45 +0000 (14:37 +0200)]
[multiple changes]

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

* exp_prag.adb (Expand_Pragma_Check): Generate proper string
for invariant
* gnat_rm.texi: Add documentation for pragmas
Type_Invariant[_Class]
* par-prag.adb: Add entries for pragmas Type_Invariant[_Class]
* sem_ch13.adb: Minor reformatting
* sem_prag.adb: Implement pragmas Type_Invariant[_Class]
* snames.ads-tmpl: Add entries for pragmas Type_Invariant[_Class]

2013-10-14  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Release now unused debug switches that were only
relevant for gnat2why backend, not the frontend
* frontend.adb (Frontend) Do not stop when -gnatd.H is present,
was unused

From-SVN: r203524

10 years ago[multiple changes]
Arnaud Charlet [Mon, 14 Oct 2013 12:35:51 +0000 (14:35 +0200)]
[multiple changes]

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

* sem_prag.adb (Analyze_Global_Item): Allow
references to enclosing formal parameters.

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

* einfo.adb (Equivalent_Type): Add missing case
E_Access_Subprogram_Type in guard (for remote access to
subprograms) * sem_ch8.adb (Find_Direct_Name, Find_Expanded_Name):
Add missing guards to account for the presence of RAS types
that have already been replaced with the corresponding fat
pointer type.

From-SVN: r203523