OSDN Git Service

pf3gnuchains/gcc-fork.git
17 years ago2007-04-09 Kyle Galloway <kgallowa@redhat.com>
kgallowa [Mon, 9 Apr 2007 20:32:19 +0000 (20:32 +0000)]
2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

* interpret-run.cc: If debugging, check if args is NULL before
getting the "this" pointer.

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

17 years ago2007-04-09 Kyle Galloway <kgallowa@redhat.com>
kgallowa [Mon, 9 Apr 2007 20:30:20 +0000 (20:30 +0000)]
2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

* classpath/gnu/classpath/jdwp/value/ArrayValue.java: New file.
* classpath/lib/gnu/classpath/jdwp/value/ArrayValue.class: New file.
* gnu/classpath/jdwp/ArrayValue.h: New file.
* gnu/classpath/jdwp/natVMFrame.cc (getValue): Add array case.
(setValue): Ditto.

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

17 years ago PR c++/31449
mmitchel [Mon, 9 Apr 2007 19:45:53 +0000 (19:45 +0000)]
PR c++/31449
* class.c (build_base_path): Ensure that the converted pointer has
the same cv-qualification as the input.
PR c++/31449
* g++.dg/init/const5.C: New test.

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

17 years ago2007-04-09 Andrew Ruder <andy@aeruder.net>
pinskia [Mon, 9 Apr 2007 18:04:50 +0000 (18:04 +0000)]
2007-04-09  Andrew Ruder  <andy@aeruder.net>

        * sendmsg.c: Added __objc_msg_forward2, a hook that allows
        external libraries to provide a function that returns the real
        forwarding function based on both the selector and the receiver.
        * objc/objc-api.h: Define __objc_msg_forward2.

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

17 years agoFix ChangeLog date.
daney [Mon, 9 Apr 2007 17:46:17 +0000 (17:46 +0000)]
Fix ChangeLog date.

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

17 years ago PR libgcj/23758
daney [Mon, 9 Apr 2007 17:40:20 +0000 (17:40 +0000)]
PR libgcj/23758
* java/lang/natPosixProcess.cc (nativeSpawn): Move building of
environment before the fork.
* testsuite/libjava.lang/Process_7.java: New test.
* testsuite/libjava.lang/Process_7.out: Its expected results.
* testsuite/libjava.lang/Process_7.jar: Generated file.

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

17 years ago2007-04-09 Paolo Carlini <pcarlini@suse.de>
paolo [Mon, 9 Apr 2007 17:07:37 +0000 (17:07 +0000)]
2007-04-09  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits_fwd.h (__is_union_or_class): Remove.
* include/tr1/type_traits (struct __in_array,
struct __is_union_or_class, struct __is_union_or_class_helper,
struct __is_empty_helper, struct __is_polymorphic_helper):
Remove.
(struct is_enum): Use __is_enum.
(struct is_union): Use __is_union.
(struct is_class): Use __is_class.
(struct is_function): Adjust.
(struct is_empty): Use __is_empty.
(struct is_polymorphic): Use __is_polymorphic.
(struct is_abstract): Use __is_abstract.
(struct has_virtual_destructor): Use __has_virtual_destructor.
(struct __is_base_of_helper): Use __is_base_of.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/typedefs.cc: Remove.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_union_or_class/is_union_or_class.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_class/typedefs.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_class/is_class.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_union/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_union/is_union.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_virtual_destructor/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_virtual_destructor/has_virtual_destructor.cc: Likewise.
* testsuite/util/testsuite_tr1.h (class VirtualDestructorClass): Add.
* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
is_polymorphic.cc: Add test.

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

17 years ago * gcc.dg/tree-ssa/foldaddr-3.c: New file.
hubicka [Mon, 9 Apr 2007 17:00:10 +0000 (17:00 +0000)]
* gcc.dg/tree-ssa/foldaddr-3.c: New file.

* tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into
multiple fields of union.

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

17 years ago2007-04-09 Paolo Carlini <pcarlini@suse.de>
paolo [Mon, 9 Apr 2007 16:33:33 +0000 (16:33 +0000)]
2007-04-09  Paolo Carlini  <pcarlini@suse.de>

* tree.c (cp_tree_equal): Deal with TRAIT_EXPR.

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

17 years ago2007-04-09 H.J. Lu <hongjiu.lu@intel.com>
hjl [Mon, 9 Apr 2007 15:07:08 +0000 (15:07 +0000)]
2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>

* prims.cc (load_jvmti_agent): Add the missing `,'.

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

17 years ago2007-04-09 Kyle Galloway <kgallowa@redhat.com>
kgallowa [Mon, 9 Apr 2007 13:24:00 +0000 (13:24 +0000)]
2007-04-09  Kyle Galloway  <kgallowa@redhat.com>

* gij.cc (main): Accept -agentlib and -agentpath options.
* prims.cc (parse_init_args): Deal with -agentlib and -agentpath.
(load_jvmti_agent): New function.

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

17 years ago * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
rakdver [Mon, 9 Apr 2007 06:51:43 +0000 (06:51 +0000)]
* cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
(create_preheaders): Check that loops are available.
(fix_loop_structure): Clean up, improve comments.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa):
Check that loops are available.  Set LOOP_CLOSED_SSA to the loops
state flags.
* tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info.
* predict.c (tree_estimate_probability): Do not call
calculate_dominance_info.  Call create_preheaders.
* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call
rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state
flags.
* cfgloop.c (loop_preheader_edge): Assert that loops have preheaders.
* cfgloop.h (LOOP_CLOSED_SSA): New constant.
* tree-cfg.c (tree_split_edge): Make an assert more precise.
* tree-ssa-threadedge.c (thread_across_edge): Comment the function
arguments.

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

17 years agoDaily bump.
gccadmin [Sun, 8 Apr 2007 23:17:01 +0000 (23:17 +0000)]
Daily bump.

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

17 years ago2007-04-08 Alexey Beshenov <bav.272304@gmail.com>
paolo [Sun, 8 Apr 2007 22:37:56 +0000 (22:37 +0000)]
2007-04-08  Alexey Beshenov  <bav.272304@gmail.com>

PR libstdc++/31511
* include/c_global/cmath.tcc (__cmath_power): Use _Tp(1).
* include/c_std/cmath.tcc (__cmath_power): Likewise.

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

17 years ago * tree.h (maybe_fold_offset_to_component_ref): Declare.
hubicka [Sun, 8 Apr 2007 22:12:21 +0000 (22:12 +0000)]
* tree.h (maybe_fold_offset_to_component_ref): Declare.
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export.
* fold-const.c (fold_unary): Use it.

* gcc.dg/tree-ssa/foldaddr-2.c: New file.

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

17 years ago2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Sun, 8 Apr 2007 19:30:06 +0000 (19:30 +0000)]
2007-04-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * varasm.c (assemble_variable): Remove call to
        lang_hooks.decls.prepare_assemble_variable.
        * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
        (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE.
        * langhooks.h (lang_hooks_for_decls): Remove
        prepare_assemble_variable.

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

17 years ago * config/i386/i386.c: Use inc/dec on Core2.
mrs [Sun, 8 Apr 2007 16:30:23 +0000 (16:30 +0000)]
* config/i386/i386.c: Use inc/dec on Core2.

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

17 years ago * langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
steven [Sun, 8 Apr 2007 13:14:39 +0000 (13:14 +0000)]
* langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
lhd_tree_inlining_end_inlining): Remove.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
end_inlining hooks.
* langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
lhd_tree_inlining_end_inlining): Remove prototypes.
(LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
LANG_HOOKS_TREE_INLINING_START_INLINING,
LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.

* c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
not set it.

cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS):
Do not set it.
(LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do not set it.
* tree.c (cp_add_pending_fn_decls): Remove.
* cp-tree.h (cp_add_pending_fn_decls): Remove prototype.

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

17 years ago PR target/29932
aesok [Sun, 8 Apr 2007 10:38:38 +0000 (10:38 +0000)]
PR target/29932
* config/avr/predicates.md (io_address_operand): Delete predicate.
(low_io_address_operand): Don't use 'mode' argument.
(higth_io_address_operand): Rename ...
(high_io_address_operand): ... to this. Don't use 'mode' argument.
* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
for above change.

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

17 years agoDaily bump.
gccadmin [Sat, 7 Apr 2007 23:17:02 +0000 (23:17 +0000)]
Daily bump.

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

17 years ago2007-04-07 Daniel Berlin <dberlin@dberlin.org>
dberlin [Sat, 7 Apr 2007 23:08:23 +0000 (23:08 +0000)]
2007-04-07  Daniel Berlin  <dberlin@dberlin.org>

Revert change removing staticp.

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

17 years ago PR target/30289
aesok [Sat, 7 Apr 2007 22:00:33 +0000 (22:00 +0000)]
PR target/30289
* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
earlyclobber.

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

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:29:13 +0000 (20:29 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31257
* intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
* intrinsic.h : Add prototype for gfc_resolve_achar.
* iresolve.c (gfc_resolve_achar): New function.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31257
* gfortran.dg/achar_4.f90: New test.

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

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:25:43 +0000 (20:25 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30880
* resolve.c (resolve_fl_variable): Set flag to 2 for automatic
arrays.  Make condition for automatic array error explicit.
If a dummy, no error on an INTENT(OUT) derived type.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30880
* gfortran.dg/used_dummy_types_8.f90: New test.

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

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:23:40 +0000 (20:23 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30872
* expr.c (find_array_element): Correct arithmetic for rank > 1.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30872
* gfortran.dg/parameter_array_element_1.f90: New test.

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

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:20:49 +0000 (20:20 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31222
* check.c (numeric_check): If an expresson has not got a type,
see if it is a symbol for which a default type applies.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31222
* gfortran.dg/default_numeric_type_1.f90: New test.

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

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:18:17 +0000 (20:18 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31214
* trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
associated symbols.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31424
* gfortran.dg/unreferenced_use_assoc_1.f90: New test.

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

17 years ago2007-04-07 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 7 Apr 2007 20:13:52 +0000 (20:13 +0000)]
2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31293
* symbol.c (gfc_check_function_type): New function.
* gfortran.h : Add prototype for previous.
* parse.c (parse_progunit): Call it after parsing specification
statements.

2007-04-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31293
* gfortran.dg/interface_12.f90: New test.

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

17 years agoSeparate NUL byte detection from rest of -Wformat warnings
korbb [Sat, 7 Apr 2007 17:55:07 +0000 (17:55 +0000)]
Separate NUL byte detection from rest of -Wformat warnings

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

17 years ago2007-04-07 H.J. Lu <hongjiu.lu@intel.com>
hjl [Sat, 7 Apr 2007 15:58:00 +0000 (15:58 +0000)]
2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_handle_option): Handle SSSE3.

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

17 years ago PR testsuite/31369
danglin [Sat, 7 Apr 2007 15:10:06 +0000 (15:10 +0000)]
PR testsuite/31369
* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
ld_library_path.
* testsuite/libgomp.fortran/fortran.exp: Likewise.

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

17 years agoin /
dberlin [Sat, 7 Apr 2007 00:19:46 +0000 (00:19 +0000)]
in /
2007-04-06  Daniel Berlin  <dberlin@dberlin.org>

* tree.c (staticp): No longer use staticp langhook.
* langhooks.c (lhd_staticp): Removed.
* langhooks.h (struct lang_hooks): Remove staticp.
* c-common.c (c_staticp): Remove.
* c-common.h (c_staticp): Ditto.
* langhooks-defs.h (lhd_staticp): Ditto.
(LHD_HOOKS_STATICP): Ditto
* tree.h (gcc_assert_lowered): New macro.

in cp/

2007-04-06  Daniel Berlin  <dberlin@dberlin.org>

* cp-objcp-common.c (cxx_staticp): Remove.
* cp-objcp-common.h (LANG_HOOKS_STATICP): Remove.
* cp-tree.h (cxx_staticp):

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

17 years ago2007-04-06 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 6 Apr 2007 23:36:56 +0000 (23:36 +0000)]
2007-04-06  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/31117
* config/locale/gnu/c_locale.cc (__convert_to_v): Do not use errno,
just check that the value is finite.
* config/locale/generic/c_locale.cc (__convert_to_v): Likewise.

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

17 years agoDaily bump.
gccadmin [Fri, 6 Apr 2007 23:17:31 +0000 (23:17 +0000)]
Daily bump.

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

17 years ago * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
rakdver [Fri, 6 Apr 2007 23:11:15 +0000 (23:11 +0000)]
* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
argument "reliable".
(infer_loop_bounds_from_ref, infer_loop_bounds_from_array):
Add argument "reliable".  Propagate it through calls.
(infer_loop_bounds_from_undefined):  Derive number of iterations
estimates from references in blocks that do not dominate loop latch.
(gcov_type_to_double_int): New function.
(estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int
and expected_loop_iterations_unbounded.
* cfgloopanal.c (expected_loop_iterations_unbounded): New function.
(expected_loop_iterations): Use expected_loop_iterations_unbounded.
* tree-data-ref.c (estimated_loop_iterations): Export.
(get_references_in_stmt): Fix -- do not return addresses of local
objects.
* cfgloop.h (expected_loop_iterations_unbounded,
estimated_loop_iterations): Declare.

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

17 years agoRemove ">>>>>>> .r123627".
hjl [Fri, 6 Apr 2007 21:24:17 +0000 (21:24 +0000)]
Remove ">>>>>>> .r123627".

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

17 years ago2007-04-06 Andreas Tobler <a.tobler@schweiz.org>
andreast [Fri, 6 Apr 2007 20:55:24 +0000 (20:55 +0000)]
2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>

        * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.

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

17 years ago * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
uros [Fri, 6 Apr 2007 20:14:12 +0000 (20:14 +0000)]
    * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
        and extenddfxf2. Macroize expander using X87MODEF12 mode macro.
        (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1):
        Use output_387_reg_move().
        (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize
        expander using X87MODEF12 mode macro.
        (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when
        choosing register preferences.  Use output_387_reg_move().
        (*truncxfdf2_mixed): Combine alternatives, use "r" alternative
        instead of "x".  Use output_387_reg_move().
        (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and
        *truncxfdf2_i387_noop.  Macroize insn using X87MODEF12 mode macro.
        (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and
        *truncxfdf2_i387.  Macroize insn using X87MODEF12 mode macro.
        Use output_387_reg_move().
        (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12
        mode macro.
        (*truncxf?f_i387 splitter): Ditto.

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

17 years ago2007-04-06 Daniel Berlin <dberlin@dberlin.org>
dberlin [Fri, 6 Apr 2007 16:51:18 +0000 (16:51 +0000)]
2007-04-06  Daniel Berlin  <dberlin@dberlin.org>

* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
LANG_HOOKS_SAFE_FROM_P.
* expr.c (safe_from_p): Remove langhook call.
* langhooks.h (lang_hooks): Remove safe_from_p.
(lhd_safe_from_p): Remove prototype.
* langhooks.c (lhd_safe_from_p): Remove.

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

17 years ago * intrinsics/cpu_time.c: Don't include headers already included
fxcoudert [Fri, 6 Apr 2007 16:47:23 +0000 (16:47 +0000)]
* intrinsics/cpu_time.c: Don't include headers already included
by libgfortran.h. Protect inclusion of sys/times.h.
* configure.ac: Remove unneeded checks for finit, stdio.h,
stddef.h, math.h and sys/params.h.
* config/fpu-aix.h: Don't include headers already included by
libgfortran.h.
* config/fpu-sysv.h: Likewise.
* io/write.c: Likewise.
* m4/minloc1.m4: Likewise.
* m4/maxloc1.m4: Likewise.
* m4/fraction.m4: Likewise.
* m4/set_exponent.m4: Likewise.
* m4/spacing.m4: Likewise.
* m4/minval.m4: Likewise.
* m4/maxval.m4: Likewise.
* m4/exponent.m4: Likewise.
* m4/nearest.m4: Likewise.
* m4/minloc0.m4: Likewise.
* m4/maxloc0.m4: Likewise.
* m4/rrspacing.m4: Likewise.
* runtime/main.c: Likewise.
* runtime/error.c: Likewise.
* intrinsics/system_clock.c: Likewise.
* intrinsics/etime.c: Likewise.
* intrinsics/stat.c: Likewise.
* intrinsics/date_and_time.c: Likewise.
* intrinsics/env.c: Likewise.
* intrinsics/kill.c: Likewise.
* intrinsics/getXid.c: Likewise.
* intrinsics/chmod.c: Likewise.
* intrinsics/args.c: Likewise.
* intrinsics/c99_functions.c: Likewise.
* generated/minval_r8.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/maxval_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/exponent_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/fraction_r16.c: Regenerate.
* generated/fraction_r4.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/set_exponent_r8.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/nearest_r8.c: Regenerate.
* generated/spacing_r16.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/set_exponent_r10.c: Regenerate.
* generated/rrspacing_r10.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/spacing_r4.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/exponent_r10.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/fraction_r10.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/rrspacing_r8.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/nearest_r16.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/exponent_r4.c: Regenerate.
* generated/spacing_r10.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/minval_i1.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minval_i2.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/fraction_r8.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/set_exponent_r4.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/nearest_r10.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/nearest_r4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/spacing_r8.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/rrspacing_r4.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/exponent_r8.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/maxval_i1.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/set_exponent_r16.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/rrspacing_r16.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.

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

17 years ago * configure.ac: Tidy target case.
rth [Fri, 6 Apr 2007 16:24:16 +0000 (16:24 +0000)]
    * configure.ac: Tidy target case.
        (HAVE_LONG_DOUBLE): Allow the target to override.
        * configure: Regenerate.
        * include/ffi.h.in: Don't define ffi_type_foo if
        LIBFFI_HIDE_BASIC_TYPES is defined.
        (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
        to ffi_type_double.
        * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
        (FFI_TYPEDEF, ffi_type_void): Mark the data const.
        (ffi_type_longdouble): Special case for Alpha.  Don't define
        if long double == double.

        * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
        (ffi_prep_cif_machdep): Handle it as the 128-bit type.
        (ffi_call, ffi_closure_osf_inner): Likewise.
        (ffi_closure_osf_inner): Likewise.  Mark hidden.
        (ffi_call_osf, ffi_closure_osf): Mark hidden.
        * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
        * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
        (load_table): Handle 128-bit long double.

        * testsuite/libffi.call/float4.c: Add -mieee for alpha.

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

17 years ago2007-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 6 Apr 2007 15:42:26 +0000 (15:42 +0000)]
2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/31395
* gfortran.dg/fmt_colon.f90: New test.

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

17 years ago2007-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 6 Apr 2007 15:39:02 +0000 (15:39 +0000)]
2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/31395
* io/format.c (parse_format_list): Fix parsing.

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

17 years ago2007-04-06 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 6 Apr 2007 14:52:27 +0000 (14:52 +0000)]
2007-04-06  Paolo Carlini  <pcarlini@suse.de>

* include/ext/type_traits.h (__numeric_traits): Move...
* include/ext/numeric_traits.h: ... here.
* include/Makefile.am: Add.
* include/ext/pb_ds/detail/type_utils.hpp: Include
<ext/numeric_traits.h> too.
* include/tr1/random: Likewise.
* testsuite/ext/type_traits/numeric_traits.cc: Move...
* testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
* include/Makefile.in: Regenerate.

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

17 years ago PR libffi/31491:
tromey [Fri, 6 Apr 2007 14:30:27 +0000 (14:30 +0000)]
PR libffi/31491:
* README: Fixed bug in example.

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

17 years ago2007-04-06 Colin Walters <walters@redhat.com>
tromey [Fri, 6 Apr 2007 14:28:15 +0000 (14:28 +0000)]
2007-04-06  Colin Walters  <walters@redhat.com>

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161701
* jcf-io.c (open_class): Copy 'filename'.

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

17 years ago * g++.old-deja/g++.other/init18.C: Use
kazu [Fri, 6 Apr 2007 13:47:32 +0000 (13:47 +0000)]
* g++.old-deja/g++.other/init18.C: Use
dg-require-effective-target instead of an explicit xfail.

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

17 years ago * cgraphunit.c (decide_is_function_needed): Do not keep always_inline
hubicka [Fri, 6 Apr 2007 12:56:50 +0000 (12:56 +0000)]
* cgraphunit.c (decide_is_function_needed): Do not keep always_inline
functions.

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

17 years ago * config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
uros [Fri, 6 Apr 2007 10:59:53 +0000 (10:59 +0000)]
* config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
* config/i386/i386.md (*movsf_1, *movdf_nointeger,
*movdf_integer_rex64, *movdf_integer, *movxf_nointeger,
*movxf_integer): Use output_387_reg_move() for x87 reg->mem
alternative.
(*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387,
*extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto.

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

17 years agoNew test cases.
charlet [Fri, 6 Apr 2007 09:44:51 +0000 (09:44 +0000)]
New test cases.

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

17 years agoNew file.
charlet [Fri, 6 Apr 2007 09:43:23 +0000 (09:43 +0000)]
New file.
Resync.

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

17 years ago2007-04-06 Arnaud Charlet <charlet@adacore.com>
charlet [Fri, 6 Apr 2007 09:41:46 +0000 (09:41 +0000)]
2007-04-06  Arnaud Charlet  <charlet@adacore.com>
    Eric Botcazou <botcazou@adacore.com>

* gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
and made constant.

* comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
carry any.

* fe.h (Compiler_Abort): Add third parameter.

* misc.c (internal_error_function): Build third argument from current
input location and pass it to Compiler_Abort.

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

17 years ago2007-04-06 Eric Botcazou <botcazou@adacore.com>
charlet [Fri, 6 Apr 2007 09:41:07 +0000 (09:41 +0000)]
2007-04-06  Eric Botcazou <botcazou@adacore.com>
    Olivier Hainque  <hainque@adacore.com>

* utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
when updating the contents of the old pointer to an unconstrained array.
(end_subprog_body): Set error_gnat_node to Empty.
(write_record_type_debug_info): Do not be unduly sparing with our bytes.
(unchecked_convert): For subtype to base type conversions, require that
the source be a subtype if it is an integer type.
(builtin_decls): New global, vector of available builtin functions.
(gnat_pushdecl): Add global builtin function declaration nodes to the
builtin_decls list.
(gnat_install_builtins): Adjust comments.
(builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
calling gnat_pushdecl, so that it knows when it handed a builtin
function declaration node.
(builtin_decl_for): Search the builtin_decls list.

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

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:40:22 +0000 (09:40 +0000)]
2007-04-06  Olivier Hainque  <hainque@adacore.com>
    Eric Botcazou <botcazou@adacore.com>

* trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
expression with a COMPOUND_EXPR including the call instead of emitting
the call directly here.
(gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
high bound is constant and the slice is empty.  Tidy.
(tree_transform, case N_Op_Not): Handle properly the case where the
operation applies to a private type whose full view is a modular type.
(Case_Statement_To_gnu): If an alternative is an E_Constant with an
Address_Clause, use the associated Expression as the GNAT tree
representing the choice value to ensure the corresponding GCC tree is
of the proper kind.
(maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
instead of just the operands, as the base GCC stabilize_reference does.
<CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
requested; otherwise fail.
(addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.

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

17 years agoResync
charlet [Fri, 6 Apr 2007 09:36:45 +0000 (09:36 +0000)]
Resync

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:29:20 +0000 (09:29 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* a-diroro.ads: Inserted the pragma Unimplemented_Unit

* bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
of files
Add mention of -Sev (set initialize_scalars option from environment
variable at run time) in gnatbind usage message.

* elists.ads, elists.adb: (Append_Unique_Elmt): New procedure

* fname-uf.ads: Minor comment fix

* osint.ads: Change pragma Elaborate to Elaborate_All

* par-load.adb: Add documentation.

* sem_cat.ads, sem_cat.adb: Minor code reorganization

* s-parint.ads (RCI_Locator) : Add 'Version' generic formal

* s-secsta.ads: Extra comments

* s-soflin.ads: Minor comment fixes

* s-stratt.ads (Block_Stream_Ops_OK): Removed.

* s-wchcon.ads: Minor comment addition

* treepr.adb: Minor change in message
(Print_Name,Print_Node): Make these debug printouts more robust: print
"no such..." instead of crashing on bad input.

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

17 years ago2007-04-06 Eric Botcazou <botcazou@adacore.com>
charlet [Fri, 6 Apr 2007 09:29:06 +0000 (09:29 +0000)]
2007-04-06  Eric Botcazou <botcazou@adacore.com>

* s-stchop-vxworks.adb:
(Stack_Check): Raise Storage_Error if the argument has wrapped around.

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

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:28:45 +0000 (09:28 +0000)]
2007-04-06  Olivier Hainque  <hainque@adacore.com>

* utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
opcodes.

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

17 years ago2007-04-06 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 6 Apr 2007 09:28:33 +0000 (09:28 +0000)]
2007-04-06  Thomas Quinot  <quinot@adacore.com>

* uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
implementation of UI_Div.
(UI_Div): Reimplement as a call to UI_Div_Rem.
(UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
remainder, avoiding the cost of a multiplication and a subtraction.
(UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
provides both quotient and remainder in a single computation.
(UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
functions for uint.
(UI_Modular_Inverse): Add a note that the behaviour of this subprogram
is undefined if the given n is not inversible.

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

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:28:04 +0000 (09:28 +0000)]
2007-04-06  Olivier Hainque  <hainque@adacore.com>

* tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
an address always within the call instruction from a return address.

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

17 years ago * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
charlet [Fri, 6 Apr 2007 09:27:53 +0000 (09:27 +0000)]
* s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
before propagating exception.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:42 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
to chain nested components that are allocators for access discriminants
of the enclosing object.
Add N_Push and N_Pop nodes
New field Exception_Label added
(Local_Raise_Statements): New field in N_Exception_Handler_Node
(Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
(Is_Coextension): New flag for allocators, to mark allocators that
correspond to access discriminants of dynamically allocated objects.
(N_Block_Statement): Document the fact that the corresponding entity
can be an E_Return_Statement.
(Is_Coextension): New flag for allocators.
Remove all code for DSP option

* sprint.ads, sprint.adb: Display basic information for class_wide
subtypes. Add handling of N_Push and N_Pop nodes

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:31 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
dereference of a local object R created as a reference to another
object O, use the access level of O.
(Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
rather than local Same_Formal_Type, to check whether protected operation
overrides an inherited one.
(Same_Formal_Type): New predicate, used when matching signatures of
overriding synchronized operations, to handle the case when a formal
has a type that is a generic actual.
(Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
(Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
syntactic ambiguities involving indexing of function calls that return
arrays.
(Abstract_Interface_List): New subprogram that returns the list of
abstract interfaces associated with a concurrent type or a
concurrent record type.
(Interface_Present_In_Parent): New subprogram used to check if a
given type or some of its parents implement a given interface.
(Collect_Abstract_Interfaces): Add support for concurrent types
with interface types.
(Has_Abstract_Interfaces): Add support for concurrent types with
interface types.
(Is_Parent): New subprogram that determines whether E1 is a parent
of E2. For a concurrent type its parent is the first element of its
list of interface types; for other types this function provides the
same result than Is_Ancestor.
(Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
(Collect_Synchronized_Interfaces): Removed because the subprogram
Collect_Abstract_Interfaces provides this functionality.
(Collect_Abstract_Interfaces): Minor update to give support to
concurrent types and thus avoid undesired code duplication.
(Get_Subprogram_Entity): Handle entry calls.
(May_Be_Lvalue): Include actuals that appear as in-out parameters in
entry calls.
(Enter_Name): Do not give -gnatwh hiding warning for record component
entities, they never result in hiding.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:13 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
predicate recursive, to handle complex expressions on literals whose
spurious ambiguity comes from the abstract interpretation of some
subexpression.
(Interface_Present_In_Ancestor): Add support to concurrent record
types.
(Add_One_Interp,Disambiguate): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:27:02 +0000 (09:27 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb (Has_Components): If the argument is an incomplete type
that is a limited view, check the non-limited view if available.
(Undefined): Refine error message for missing with of Text_IO
(Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
to distinguish real missing with cases.
Fix format of all missing with messages
(Analyze_Subprogram_Renaming): Emit proper error message on illegal
renaming as body when renamed entity is abstract.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:50 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
out of Analyze_Package_Declaration, because processing must be applied
to package bodies as well, for deferred constants completed by pragmas.
(Analyze_Package_Declaration): When the package declaration being
analyzed does not require an explicit body, call Check_Completion.
(May_Need_Implicit_Body): An implicit body is required when a package
spec contains the declaration of a remote access-to-classwide type.
(Analyze_Package_Body): If the package contains RACWs, append the
pending subprogram bodies generated by exp_dist at the end of the body.
(New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Preserve_Full_Attributes): The full entity list is not an attribute
that must be preserved from full to partial view.

        * sem_dist.adb (Add_RAS_Dereference_TSS):
        Change primitive name to _Call so it cannot clash with any legal
        identifier, and be special-cased in Check_Completion.
        Mark the full view of the designated type for the RACW associated with
        a RAS as Comes_From_Source to get proper view switching when installing
        private declarations.
        Provite a placeholder nested package body along with the nested spec
        to have a place for Append_RACW_Bodies to generate the calling stubs
        and stream attributes.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:37 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
tag-indeterminate call to an abstract function, when the left-hand side
is not classwide.
(Analyze_Loop_Statement): Improve detection of infinite loops

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:20 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
prefix type is a discriminated subtype of the type of the formal.
(Analyze_Allocator): Collect all coextensions regardless of the context.
Whether they can be allocated statically is determined in exp_ch4.
(Analyze_Selected_Component): If the prefix is a limited view and the
non-limited view is available, use the non-limited one.
(Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
therefore illegal), suggest a qualified expression rather than a type
conversion, because a type conversion would be illegal in this context.
(Anayze_Allocator): Trace recursively all nested allocators so that all
coextensions are on the corresponding list for the root. Do no mark
coextensions if the root allocator is within a declaration for a stack-
allocated object, because the access discriminants will be allocated on
the stack as well.
(Analyze_Call): Remove restriction on calls to limited functions for the
cases of generic actuals for formal objects, defaults for formal objects
and defaults for record components.
(Analyze_Allocator): Before analysis, chain coextensions on the proper
element list. Their expansion is delayed until the enclosing allocator
is processed and its finalization list constructed.
(Try_Primitive_Operation): If the prefix is a concurrent type, looks
for an operation with the given name among the primitive operations of
the corresponding record type.
(Analyze_Selected_Component): If the prefix is a task type that
implements an interface, and there is no entry with the given name,
check whether there is another primitive operation (e.g. a function)
with that name.
(Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
properly the indexing of a function call written in prefix form, where
the function returns an array type, and all parameters of the function
except the first have defaults.
(Analyze_Equality_Op): If this is a call to an implicit inequality, keep
the original operands, rather than relocating them, for efficiency and
to work properly when an operand is overloaded.
(Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
(Analyze_Selected_Component): If the prefix is a private extension, only
scan the visible components, not those of the full view.
(Try_Primitive_Operation): If the operation is a procedure, collect all
possible interpretations, as for a function, because in the presence of
classwide parameters several primitive operations of the type can match
the given arguments.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:26:07 +0000 (09:26 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
when capturing size information, instead of base type, which for a
formal array type will be the unconstrained type.
(Analyze_Formal_Object_Declaration): Add check for illegal default
expressions for a formal in object of a limited type.
(Instantiate_Object): Ditto.
(Check_Formal_Package_Instance): Skip entities that are formal objects,
because they were defaulted in the formal package and no check applies
to them.
(Check_Formal_Package_Instance): Extend conformance check to other
discrete types beyond Integer.
(Process_Default): Copy directly the unmatched formal. A generic copy
has already been performed in Analyze_Formal_Package.
(Analyze_Associations): If a formal subprogram has no match, check for
partial parametrization before looking for a default, to prevent
spurious errors.
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
not set the instantiation environment before analyzing the actuals.
Fixes regression on 8515-003 with implementation of AI-133.
Set_Instance_Env checks whether the generic unit is a predefined
unit, in which case the instance must be analyzed with the latest Ada
mode. This setting must take place after analysis of the actuals,
because the actuals must be analyzed and frozen in the Ada mode extant
outside of the current instantiation.
(Save_Env, Restore_Env): Preserve and restore the configuration
parameters so that predefined units can be compiled in the proper Ada
mode.
(Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
and Is_Abstract_Type.
(Analyze_Formal_Package): For better error recovery, Add exception
handler to catch Instantion_Error, which can be raised in
Analyze_Associations

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:25:51 +0000 (09:25 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Install_Limited_Context_Clauses.
Expand_Limited_With_Clause): Use a new copy of selector name in the
call to Make_With_Clause. This fixes the tree structure for ASIS
purposes. Nothing is changed in the compiler behaviour.
(Process_Body_Clauses): Handle properly use clauses whose prefix is
a package renaming.
(Install_Limited_With_Clauses): Do not install non-limited view when it
is still incomplete.

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

17 years ago2007-04-06 Ed Falis <falis@adacore.com>
charlet [Fri, 6 Apr 2007 09:25:39 +0000 (09:25 +0000)]
2007-04-06  Ed Falis  <falis@adacore.com>

* s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
full word is no longer compared twice.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:25:29 +0000 (09:25 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>

* sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
Use First/Next_Component_Or_Discriminant
(Analyze_Record_Representation_Clause):
Use First/Next_Component_Or_Discriminant
(Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
(Analyze_Attribute_Definition_Clause, case Value_Size): Reject
definition if type is unconstrained.
(Adjust_Record_For_Reverse_Bit_Order): New procedure
(Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Adjust_Record_For_Reverse_Bit_Order): New procedure

* repinfo.adb (List_Record_Info): Use First/
Next_Component_Or_Discriminant.

* style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
New procedure.

* stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
Include -gnatyA in default switches

* opt.ads: (Warn_On_Non_Local_Exception): New flag
(Warn_On_Reverse_Bit_Order): New flag
(Extensions_Allowed): Update the documentation.
(Warn_On_Questionable_Missing_Parens): Now on by default

* usage.adb: Add documentation of -gnatw.x/X switches
Document new -gnatyA style switch
-gnatq warnings are on by default

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

17 years ago2007-04-06 Vincent Celier <celier@adacore.com>
charlet [Fri, 6 Apr 2007 09:25:16 +0000 (09:25 +0000)]
2007-04-06  Vincent Celier  <celier@adacore.com>

* prj-ext.adb (Initialize_Project_Path): New procedure that initialize
the default project path, initially done during elaboration of the
package.
If the prefix returned by Sdefault is null, get the prefix from a call
to Executable_Prefix_Path.
(Project_Path): Call Initialize_Project_Path if Current_Project_Path is
null.

* prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
canonical directory name to open the directory from which files are
retrieved.
(Record_Other_Sources): Idem.
(Locate_Directory): Add the possibility to create automatically missing
directories when Setup_Projects is True.
Call Locate_Directory so that the directory will be created when
Setup_Projects is True, for object dir, library dir, library ALI dir,
library source copy dir and exec dir.

* prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
versions of GNAT.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:25:05 +0000 (09:25 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Bob Duff  <duff@adacore.com>
    Vincent Celier  <celier@adacore.com>

* par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
(Extensions_Allowed): No longer sets Ada_Version
Entry for pragma Unreferenced_Objects

* sem_prag.adb (Analyze_Pragma, case Priority): Force with of
system.tasking if pragma priority used in a procedure
(Analyze_Pragma, case Warning): Handle dot warning switches
(Process_Compile_Time_Warning_Or_Error): New procedure
(Analyze_Pragma): Add processing for Compile_Time_Error
Add support for extra arguments External_Name and Link_Name.
Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
(Process_Import_Or_Interface): Add support for the use of pragma Import
with tagged types.
(Extensions_Allowed): No longer affects Ada_Version
(Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
Is_Abstract_Type. Make sure these are called only when appropriate.
Add processing for pragma Unreferenced_Objects

* snames.h, snames.ads, snames.adb: Add entry for pragma
Compile_Time_Error
Add new standard name Minimum_Binder_Options for new gprmake
Add new standard names for gprmake: Archive_Suffix,
Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
Library_Support, Library_Version_Options,
Shared_Library_Minimum_Options,
Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
Change Name_Call to Name_uCall so that it cannot clash with a legal
subprogram name.
Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
Append C_Plus_Plus to convention identifiers as synonym for CPP
Add new standard names Stack and Builder_Switches
Add new standard names: Compiler_Minimum_Options, Global_Config_File,
Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
Run_Path_Option, Toolchain_Version.
Entry for pragma Unreferenced_Objects

* switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
switches, without repetition of "eD". Make sure that last character of
-gnatep= switch is not taken as -gnat switch character.
Complete rewrite of circuit for handling saving compilation options
Occasioned by need to support dot switchs for -gnatw, but cleans up
things in general.
-gnatX does not affect Ada_Version
Include -gnatyA in -gnatg style switches

* sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
warnings on return objects.
(Warn_On_Useless_Assignment): Exclude warnings on return objects
(Set_Dot_Warning_Switch): New procedure
(Check_References): Add missing case of test for
Has_Pragma_Unreferenced_Objects
(Output_Unreferenced_Messages): Implement effect of new pragma
Unreferenced_Objects, remove special casing of limited controlled
variables.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:24:49 +0000 (09:24 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Bob Duff  <duff@adacore.com>

* par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
(P_Interface_Type_Definition): Remove the formal Is_Synchronized because
there is no need to generate always a record_definition_node in case
of synchronized interface types.
(P_Type_Declaration): Update calls to P_Interface_Type_Definition.
(P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
illegal in Ada 95, in cases where it is legal. Change the warnings to
errors in other cases. Don't give the error unless the "not null"
parses properly. Correct the source position at which the error occurs.
(P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
P_Null_Exclusion, to suppress "not null" warnings.
(P_Identifier_Declarations): Code cleanup. Removed unrequired label and
associated goto statements.

* par-endh.adb (Pop_End_Context): Allow more flexibility in placement
of END RECORD

* scans.ads (Type_Token_Location): New flag

* par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
(P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
P_Null_Exclusion, to suppress "not null" warnings.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:24:39 +0000 (09:24 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>

* namet.ads, namet.adb (wn): Improve this debugging routine. Calling
it no longer destroys the contents of Name_Buffer or Name_Len and
non-standard and invalid names are handled better.
(Get_Decoded_Name_String): Improve performance by using
Name_Has_No_Encodings flag in the name table.
(Is_Valid_Name): New function to determine whether a Name_Id is valid.
Used for debugging printouts.

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

17 years ago2007-04-06 Vincent Celier <celier@adacore.com>
charlet [Fri, 6 Apr 2007 09:24:28 +0000 (09:24 +0000)]
2007-04-06  Vincent Celier  <celier@adacore.com>

* mlib.adb (Building_Library): Only output "building a library..." in
verbose mode

* mlib-prj.adb (Build_Library): Only output lists of object and ALI
files in verbose mode.

* mlib-utl.adb (Ar): Only output the first object files when not in
verbose mode.
(Gcc): Do not display all the object files if not in verbose mode, only
the first one.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:24:18 +0000 (09:24 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>
    Vincent Celier  <celier@adacore.com>

* gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
Update 'Exception Handling Control' chapter which was outdated.
Minor fix to documentation of -gnatwq
Remove section "Adapting the Run Time to a New C++ Compiler" because
it is now obsolete.
Add passage on need of -nostart-files in some non-ada-main cases.
Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
Update documentation about Interfacing with C++
Add documentation for new gnatmake switch -p
Add missing protocol part in URLs.
Document -gnatyA
Document pragma Compile_Time_Error
Add documentation for Object_Size indicating that stand alone
objects can have a larger size in some cases.
Add node for GNAT.Byte_Swapping, GNAT.SHA1
Update reference to the Ravenscar profile.
Document pragma Unreferenced_Objects

* gnat-style.texi: Fix typo

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:24:06 +0000 (09:24 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* lib-xref.ads, lib-xref.adb:
Modify the loop that collects type references, to include interface
types that the type implements. List each of these interfaces when
building the entry for the type.
(Generate_Definition): Initialize component Def and Typ of new entry
in table Xrefs, to avoid to have these components unitialized.
(Output_References): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Generate_Reference): Add barrier to do not generate the warning
associated with Ada 2005 entities with entities generated by the
expander.

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

17 years ago2007-04-06 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 6 Apr 2007 09:23:52 +0000 (09:23 +0000)]
2007-04-06  Thomas Quinot  <quinot@adacore.com>

* lib-writ.adb (Write_With_Lines): Factor duplicated code between the
cases where a given dependency has a body or not.
(Write_With_File_Names): New subprogram, common code for the two cases
above.

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

17 years ago2007-04-06 Serguei Rybin <rybin@adacore.com>
charlet [Fri, 6 Apr 2007 09:23:43 +0000 (09:23 +0000)]
2007-04-06 Serguei Rybin <rybin@adacore.com>

* lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
switches from previously loaded tree

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

17 years ago2007-04-06 Eric Botcazou <botcazou@adacore.com>
charlet [Fri, 6 Apr 2007 09:23:33 +0000 (09:23 +0000)]
2007-04-06  Eric Botcazou <botcazou@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
__gnat_adjust_context_for_raise.
(__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
implementation of floating point operations as native x86 targets.
So the FPU should be initialized in the same way using finit. Fix
floating point operations accuracy issues.
(__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
member in struct sigaction, so as to avoid warning for incompatible
pointer types.

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

17 years ago2007-04-06 Geert Bosch <bosch@adacore.com>
charlet [Fri, 6 Apr 2007 09:23:23 +0000 (09:23 +0000)]
2007-04-06  Geert Bosch  <bosch@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* i-fortra.ads: Add Double_Complex type.

* impunit.adb: (Is_Known_Unit): New function
Add Gnat.Byte_Swapping
Add GNAT.SHA1
Add new Ada 2005 units
Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays

* impunit.ads (Is_Known_Unit): New function

* a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
New files.

* Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio

* a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.

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

17 years ago2007-04-06 Pascal Obry <obry@adacore.com>
charlet [Fri, 6 Apr 2007 09:23:12 +0000 (09:23 +0000)]
2007-04-06  Pascal Obry  <obry@adacore.com>

* i-cstrea.ads: (fopen): Add encoding parameter.
(freopen): Idem.
Change reference from a-sysdep.c to sysdep.c in comment.
Update copyright notice.
This set of patch add support for the encoding form parameter.

* mingw32.h (S2WSU): New macro to convert from a string to a
wide-string using the UTF-8 encoding. The S2WS macro supports now only
standard 8bits encoding.
(WS2SU): As above but converting from wide-sring to string.
This is needed as it is necessary to have access to both versions in the
runtime for the form parameter encoding support.
This set of patch add support for the encoding form parameter.
(S2WS): Improve implementation to handle cases where the filename is not
UTF-8 encoded. In this case we default to using the current code page
for the conversion.

* s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
the constants defined in adaint.h.
(fopen): Add encoding parameter.
(freopen): Idem.

* s-ficobl.ads (AFCB): Add Encoding field to record the filename
encoding. This is needed for the Reset routine (freopen low level-call).

* s-fileio.adb (Open): Decode encoding form parameter and set the
corresponding encoding value into AFCB structure.
(Reset): Pass the encoding value to freopen.
(Close): Move the call to Lock_Task to the beginning of the procedure.

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

17 years ago2007-04-06 Emmanuel Briot <briot@adacore.com>
charlet [Fri, 6 Apr 2007 09:23:01 +0000 (09:23 +0000)]
2007-04-06  Emmanuel Briot  <briot@adacore.com>

* g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
[[:xdigit:]] character class.
Also raise an exception when an invalid character class is used.

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

17 years ago2007-04-06 Vincent Celier <celier@adacore.com>
charlet [Fri, 6 Apr 2007 09:22:50 +0000 (09:22 +0000)]
2007-04-06  Vincent Celier  <celier@adacore.com>

* gprep.adb (Process_Files.Process_One_File): Use full file name when
issuing pragma Source_Reference.

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

17 years ago2007-04-06 Jose Ruiz <ruiz@adacore.com>
charlet [Fri, 6 Apr 2007 09:22:40 +0000 (09:22 +0000)]
2007-04-06  Jose Ruiz  <ruiz@adacore.com>
    Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (B_Start): Add prefix of binder generated file.
(Stack_String): Add this String that contains the name of the Stack
package in the project file.
(Packages_To_Check_By_Stack): Add this list that contains the packages
to be checked by gnatstack, which are the naming and the stack packages.
(Check_Files): If no .ci files were specified for gnatstack we add all
the .ci files belonging to the projects, including binder generated
files.
(Non_VMS_Usage): Document that gnatstack accept project file switches.
(GNATCmd): Update the B_Start variable if we are in a VMS environment.
Add gnatstack to the list of commands that use project file related
switches, and get the single attribute Switches from the stack package
in a project file when calling gnatstack. Parse the -U flag for
processing files belonging to all projects in the project tree.
Remove all processing for command Setup

* prj-attr.adb: Add new package Stack with single attribute Switches

* vms_conv.ads (Command_Type): Add command Stack.
Move to body declarations that are only used in the body: types Item_Id,
Translation_Type, Item_Ptr, Item and its subtypes.

* vms_conv.adb: (Initialize): Add data for new command Stack.
Add declarations moved from the spec: types Item_Id, Translation_Type,
Item_Ptr, Item and its subtypes.
(Cargs_Buffer): New table
(Cargs): New Boolean global variable
(Process_Buffer): New procedure to create arguments
(Place): Put character in table Buffer or Cargs_Buffer depending on the
 value of Cargs.
(Process_Argument): Set Cargs when processing qualifiers for GNAT
COMPILE
(VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
empty, for table Cargs_Buffer.
(Initialize): Remove component Setup in Command_List

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

17 years ago2007-04-06 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 6 Apr 2007 09:22:29 +0000 (09:22 +0000)]
2007-04-06  Thomas Quinot  <quinot@adacore.com>

* g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
computation.

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

17 years ago * g-expect.adb (Get_Command_Output): When expanding the output buffer
charlet [Fri, 6 Apr 2007 09:22:19 +0000 (09:22 +0000)]
* g-expect.adb (Get_Command_Output): When expanding the output buffer
we must ensure that there is enough place for the new data we are going
to copy in.

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

17 years ago2007-04-06 Vincent Celier <celier@adacore.com>
charlet [Fri, 6 Apr 2007 09:22:07 +0000 (09:22 +0000)]
2007-04-06  Vincent Celier  <celier@adacore.com>

* g-debpoo.adb (Validity): New package with a complete new
implementation of subprograms Is_Valid and Set_Valid.
(Is_Valid): Move to local package Validity
(Set_Valid): Move to local package Validity

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

17 years ago2007-04-06 Pascal Obry <obry@adacore.com>
charlet [Fri, 6 Apr 2007 09:21:59 +0000 (09:21 +0000)]
2007-04-06  Pascal Obry  <obry@adacore.com>

* g-arrspl.adb (Free) [Element_Access]: New routine to free the source
string.
(Create): Free the source string before storing the new one.

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

17 years ago2007-04-06 Olivier Hainque <hainque@adacore.com>
charlet [Fri, 6 Apr 2007 09:21:48 +0000 (09:21 +0000)]
2007-04-06  Olivier Hainque  <hainque@adacore.com>

* g-alleve.ads (Low Level Vector type definitions): Map each to the
associated vector view instead of all to the unsigned char view.

* g-altcon.adb (Generic_Conversions): New internal generic package,
offering facilities for all the Vector/View conversion routines
implemented by this unit.
(To_View/To_Vector - all versions): Reimplemented in a systematic
manner, using the internal Generic_Conversions facilities.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:21:37 +0000 (09:21 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
an association with a box as providing a value even though the
initialization procedure for the type is not available.
(Resolve_Record_Aggregate): Check that a choice of an association with a
box corresponds to a component of the type.
(Resolve_Record_Aggregate): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.

* exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
assert.

* inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
called only when appropriate.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:21:24 +0000 (09:21 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>

* exp_strm.adb
(Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
 discriminant defaults.
(Build_Record_Or_Elementary_Output_Procedure): Ditto.
(Make_Component_List_Attributes): Ditto.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:21:15 +0000 (09:21 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>

* exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
result are the bounds of the left operand, not the right.

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

17 years ago2007-04-06 Robert Dewar <dewar@adacore.com>
charlet [Fri, 6 Apr 2007 09:21:03 +0000 (09:21 +0000)]
2007-04-06  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
GNAT.Current_Exception are not allowed if pragma Restrictions
(No_Exception_Propagation) is set and in any case make the associated
handler unsuitable as a target for a local raise statement.
(Expand_Dispatching_Constructor_Call): Replace generation of call to the
run-time subprogram CW_Membership by call to Build_CW_Membership.
(Expand_Dispatching_Constructor_Call): If the dispatching tag is given
by a function call, a temporary must be created before expanding the
Constructor_Call itself, to prevent out-of-order elaboration in the
back-end when stack checking is enabled..

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

17 years ago2007-04-06 Thomas Quinot <quinot@adacore.com>
charlet [Fri, 6 Apr 2007 09:20:52 +0000 (09:20 +0000)]
2007-04-06  Thomas Quinot  <quinot@adacore.com>

* exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
Do an Unchecked_Conversion to handle the passage from the Underlying
Type to the Base Type when calling Build_To_Any_Call and
Build_From_Any_Call.
(Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
E_Constant, depending upon Variable formal.
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
parameter that requires an extra constrained parameter, declare
temporary for actual as a variable, not a constant.
(Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
the unit being compiled is the one that contains the stub type.
Change primitive operation name for the RACW associated with a RAS
from Call to _Call so it cannot clash with any legal identifier.
(PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
Is_RAS.
(Append_RACW_Bodies): New subprogram.
(Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
Add_Receiving_Stubs_To_Declarations functions.
When expanding a package body, this list correspond to the
statements in the HSS at the end of the pacakge.
When expanding a package spec, this list correspond to the
spec declarations.
(Add_Receiving_Stubs_To_Declarations): Append the function
registering the receiving stubs at the end of the 'Stmts' list.
(RCI_Package_Locator): Pass the new Version generic formal when
instantiating a RCI_Locator package.
(Build_From_Any_Function): To compute the High bound for an
unconstrained array actual, we add the Low bound with the length.
Thus we must convert the low bound and the length to an appropriate
type before doing the sum.
(Build_Subprogram_Receiving_Stubs, PolyORB):
 * Retrieve the extra formals parameters at the
   end of the parameter stream.
 * Use Move_Any_Value to write back out parameters
   after executing the request as it is more efficient
   than Copy_Any_Value.
 * Build the any containing Extra Formals with the
   appropriate typecode.
(PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
empty Component_List.
(Build_Actual_Object_Declaration): New subprogram. Build and insert into
the tree the declaration for an object that serves as actual parameter
in server-side stubs.
(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
PolyORB_Support.Build_Subprogram_Receiving_Stubs):
Use Build_Actual_Object_Declaration to prepare the actuals.
(Add_Parameter_To_NVList): Set the parameter mode to In for
Extra Constrained Parameters.
(Build_General_Calling_Stubs): Set the parameter type to boolean for
Extra Constrained parameters.
(Build_To_Any_Function, Build_From_Any_Function,
Built_TypeCode_Function): When Typ is implicit, call the correct
function with the first not implicit parent type.
(TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
(FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
typecode from the Etype. Therefore we retrieve the correct typecode
with a call to Get_Any_Type.
(Copy_Specification): Do controlling formal type substitution based on
Is_Controlling_Formal flag, instead of caller-provided object type.
(Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
a RACW primitive operation, we might get a subprogram declaration for an
ancestor of the RACW designated type (not for the designated type
itself), in the case where this operation is inherited. In this case we
have no easy means of determining the original tagged type for which
the primitive was declared, so instead we now rely on
Copy_Specification to use the Is_Controlling_Formal flag to determine
which formals require type substitution.

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

17 years ago2007-04-06 Eric Botcazou <botcazou@adacore.com>
charlet [Fri, 6 Apr 2007 09:20:37 +0000 (09:20 +0000)]
2007-04-06  Eric Botcazou <botcazou@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
parameter. If it is set to true, return a result capped according to
the global upper bound for the index of an entry family.
(Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
(Build_Find_Body_Index): Adjust for above change.
(Entry_Index_Expression): Likewise.
(Is_Potentially_Large_Family): New function extracted from...
(Collect_Entry_Families): ...here. Call it to detect whether the family
is potentially large.
(Build_Entry_Count_Expression): If the family is potentially large, call
Family_Size with 'Cap' set to true.
(Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
a protected version of an operation declared in the private part of
a protected object, because they may be invoked through a callback.
(Set_Privals): If the type of a private component is an anonymous access
type, do not create a new itype for each protected body.
If the body of a protected operation creates
controlled types (including allocators for class-widetypes), the
body of the corresponding protected subprogram must include a
finalization list.
(Build_Activation_Chain_Entity): Build the chain entity for extended
return statements.
(Type_Conformant_Parameters): Use common predicate Conforming_Types
to determine whether operation overrides an inherited primitive.
(Build_Wrapper_Spec): Add code to examine the parents while looking
for a possible overriding candidate.
(Build_Simple_Entry_Call): Set No_Initialization on the object used to
hold an actual parameter value since its initialization is separated
from the the declaration. Prevents errors on null-excluding access
formals.

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

17 years ago2007-04-06 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 6 Apr 2007 09:20:23 +0000 (09:20 +0000)]
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>
    Cyrille Comar  <comar@adacore.com>

* exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
anonymous, use finalization list of enclosing dynamic scope.
(Expand_N_Package_Declaration): For a library package declaration
without a corresponding body, generate RACW subprogram bodies in the
spec (just as we do for the task activation call).
(Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
Is_Abstract_Type. Make sure these are called only when appropriate.
Remove all code for DSP option
(CW_Or_Controlled_Type): new subprogram.

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

17 years ago2007-04-06 Javier Miranda <miranda@adacore.com>
charlet [Fri, 6 Apr 2007 09:20:11 +0000 (09:20 +0000)]
2007-04-06  Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.

* exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
accessibility on class-wide allocators if the allocator occurs at the
same scope level as the allocator's type. The check is guaranteed to
succeed in that case, even when the expression originates from a
parameter of the containing subprogram.
(Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
under No_Dispatching_Calls restriction. During the semantic analysis
we already notified such violation.
(Tagged_Membership): Constant folding. There is no need to check
the tag at run-time if the type of the right operand is non
class-wide abstract.
Replace call to Is_Ancestor by call to Is_Parent
to support concurrent types with interface types.
(Expand_N_Allocator): Add an assertion associated with the generation
of the master_id.
(Expand_N_Slice): Do not enable range check to nodes associated
with the frontend expansion of the dispatch table.
(Is_Local_Access_Discriminant): Subsidiary function to
Expand_N_Allocator.
(Tagged_Membership): Replace generation of call to the run-time
subprogram CW_Membership by call to Build_CW_Membership.
(Expand_Allocator_Expression): Replace generation of call to the
run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.

* exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
initialize most the TSD components by means of an aggregate.
Modify the declaration of the object containing the TSD
because we now expand code that has a higher level of abstraction.
The TSD has a discriminant containing the Inheritance Depth Level,
value that is used in the membership test but also to fix the size
of the table of ancestors.
(Expand_Interface_Conversion): Insert function body at the closest place
to the conversion expression, to prevent access-before-elaboration
errors in the backend.
Code improved to reduce the size of the dispatch table if
compiling under restriction No_Dispatching_Calls plus code cleanup.
Code reorganization plus removal of calls to Set_Num_Prim_Ops
(Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
(Expand_Dispatching_Call): Minor code reorganization plus addition of
code to return immediately if compiling under No_Dispatching_Calls
restriction.
(Set_All_DT_Position): Remove code associated with the old CPP pragmas.
CPP_Virtual and CPP_Vtable are no longer supported.
(Expand_Interface_Conversion): Add missing support for interface type
derivations.
(Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
Is_Parent to support concurrent types with interfaces.
(Init_Predefined_Interface_Primitives): Removed.
(Make_Secondary_DT): Modified to support concurrent record types.
(Set_All_DT_Position): Modified to support concurrent record types.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
with Get_External_Tag, Inherit_TSD, Set_External_Tag.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
with CW_Membership.
(Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
with Get_Access_Level, Get_Predefined_Prim_Op_Address,
Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
(Expand_Dispatching_Call): Replace generation of call to the run-time
subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
Address.
(Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
Build_Set_Prim_Op_Address.
(Get_Remotely_Callable): Subprogram removed.
(Init_Predefined_Interface_Primitives): Replace generation of call to
the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
Prims.

* sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
First (Parameter_Associations ()) with the call to First_Actual that
returns an actual parameter expression for both named and positional
associations.

* sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
check violation of restriction No_Dispatching_Calls.
(Check_Controlling_Type): A formal of a tagged incomplete type is a
controlling argument.

* exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
First/Next_Component_Or_Discriminant
(Insert_Actions): Add entries for new N_Push and N_Pop nodes
(Find_Implemented_Interface): Removed. All the calls to this subprogram
specify Any_Limited_Interface, and this functionality is already
provided by the function Has_Abstract_Interfaces.
(Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
support concurrent types implementing interfaces.
(Find_Implemented_Interface): Removed. All the calls to this subprogram
specify kind Any_Limited_Interface, and this functionality is already
provided by the function Has_Abstract_Interfaces.
(Remove_Side_Effects): replace Controlled_Type by
CW_Or_Controlled_Type whenever the issue is related to
using or not the secondary stack.

* par-ch12.adb (P_Formal_Type_Definition): Update calls to
P_Interface_Type_Definition to fulfill the new interface (the formal
Is_Synchronized is no longer required).

* Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
Update dependencies.

* exp_atag.ads, exp_atag.adb: New file

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