OSDN Git Service

16 years ago PR libgcj/23662:
tromey [Tue, 6 Sep 2005 14:22:01 +0000 (14:22 +0000)]
PR libgcj/23662:
* include/private/gcconfig.h (LINUX_STACKBOTTOM): Use instead of

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

16 years ago * gcc.dg/vect/Os-vect-95.c: New test.
irar [Tue, 6 Sep 2005 11:09:01 +0000 (11:09 +0000)]
    * gcc.dg/vect/Os-vect-95.c: New test.
        * gcc.dg/vect/vect-95.c: Same.

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

16 years ago * common.opt: Add option ftree-vect-loop-version.
irar [Tue, 6 Sep 2005 10:59:58 +0000 (10:59 +0000)]
    * common.opt: Add option ftree-vect-loop-version.
        * params.def: Add --param vect-max-version-checks.
        * doc/invoke.texi: Document ftree-vect-loop-version and
        --param vect-max-version-checks.
        * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
        may_misalign_stmts and defines for accessors.
        * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
        (destroy_loop_vec_info): VEC_free for
        * tree-vect-analyze.c (vect_compute_data_ref_alignment):
        Update documentation.
        (vect_update_misalignment_for_peel): New.
        (vect_enhance_data_refs_alignment): Update to choose loop
        peeling or loop versioning if appropriate for the (potentially)
        unaligned data references in the loop.
        (vect_analyze_data_refs_alignment): Remove call to
        vect_enhance_data_refs_alignment so the checks can be done
        (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
        and move up call to vect_analyze_data_refs_alignment.
        * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
        (vect_transform_loop): Add call to loop_version.

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

16 years ago * decl.c (check_elaborated_type_specifier): Remove redundant check.
reichelt [Tue, 6 Sep 2005 10:30:09 +0000 (10:30 +0000)]
* decl.c (check_elaborated_type_specifier): Remove redundant check.

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

16 years ago * gcc.dg/debug/dwarf2/dwarf-char1.c: Accept more assembler comment
jakub [Tue, 6 Sep 2005 09:08:07 +0000 (09:08 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Accept more assembler comment
start strings.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

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

16 years ago PR c++/23056
jakub [Tue, 6 Sep 2005 08:55:37 +0000 (08:55 +0000)]
PR c++/23056
* typeck.c (ignore_overflows): New helper function.
(build_static_cast_1): Use it.

* g++.dg/opt/pr23056.C: New test.

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

16 years ago PR rtl-optimization/23098
jakub [Tue, 6 Sep 2005 08:53:11 +0000 (08:53 +0000)]
PR rtl-optimization/23098
* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
* simplify-rtx.c (constant_pool_reference_p): New function.
* rtl.h (constant_pool_reference_p): New prototype.
* config/i386/i386.md (pushf split, mov[sdx]f split): Use
constant_pool_reference_p in condition and
avoid_constant_pool_reference in preparation statements.

* gcc.target/i386/pr23098.c: New test.

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

16 years ago2005-09-06 Andreas Krebbel <krebbel1@de.ibm.com>
krebbel [Tue, 6 Sep 2005 08:15:35 +0000 (08:15 +0000)]
2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>

* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for

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

16 years ago PR middle-end/21460
amodra [Tue, 6 Sep 2005 04:53:53 +0000 (04:53 +0000)]
PR middle-end/21460
* except.c (sjlj_emit_function_enter): Find the function begin
note even when it's not in first basic block.

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

16 years ago2005-09-06 Kelley Cook <kcook@gcc.gnu.org>
kcook [Tue, 6 Sep 2005 03:23:48 +0000 (03:23 +0000)]
2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>

* acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
* aclocal.m4: Regenerate.

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

16 years ago* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
dj [Tue, 6 Sep 2005 02:32:26 +0000 (02:32 +0000)]
* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
of macro.

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

16 years ago * check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
kazu [Tue, 6 Sep 2005 02:25:00 +0000 (02:25 +0000)]
* check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
typos.  Follow spelling conventions.

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

16 years ago * cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
kazu [Tue, 6 Sep 2005 02:12:30 +0000 (02:12 +0000)]
* cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
Follow spelling conventions.

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

16 years ago * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
kazu [Tue, 6 Sep 2005 02:05:07 +0000 (02:05 +0000)]
* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
Follow spelling conventions.
* doc/invoke.texi: Follow spelling conventions.

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

16 years agoDaily bump.
gccadmin [Tue, 6 Sep 2005 00:16:29 +0000 (00:16 +0000)]
Daily bump.

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

16 years ago2005-09-05 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Mon, 5 Sep 2005 21:13:39 +0000 (21:13 +0000)]
2005-09-05  Thomas Koenig  <Thomas.Koenig@online.de>

* io/list_read.c:  Adjust size of of value to 32 (to hold
kind=16 complex values).

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

16 years ago * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
amylaar [Mon, 5 Sep 2005 16:45:20 +0000 (16:45 +0000)]
* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.

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

16 years ago PR c++/23667
mmitchel [Mon, 5 Sep 2005 16:12:15 +0000 (16:12 +0000)]
PR c++/23667
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when
copying a VAR_DECL.

PR c++/23667
* g++.dg/template/static15.C: New test.

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

16 years ago PR c++/21440
mmitchel [Mon, 5 Sep 2005 15:59:31 +0000 (15:59 +0000)]
PR c++/21440
* semantics.c (finish_stmt_expr_expr): Add an explicit
initialization to the last statement in the statement-expression.
* (finish_stmt_expr): Adjust accordingly.

PR c++/21440
* g++.dg/ext/stmtexpr5.C: New test.
* g++.dg/ext/stmtexpr6.C: Likewise.

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

16 years ago Testsuite changes for PR java/23431.
rmathew [Mon, 5 Sep 2005 15:04:40 +0000 (15:04 +0000)]
Testsuite changes for PR java/23431.
* testsuite/libjava.jacks/jacks.xfail: Remove and
* testsuite/libjava.compile/PR23431_1.java: New testcase.
* testsuite/libjava.compile/PR23431_2.java: Likewise.
* testsuite/libjava.compile/PR23431_1.xfail: New file.
* testsuite/libjava.compile/PR23431_2.xfail: Likewise.

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

16 years ago PR java/23431
rmathew [Mon, 5 Sep 2005 14:57:25 +0000 (14:57 +0000)]
PR java/23431
* typeck.c (lookup_do): Look up interfaces for the original class,
not the base class.
* parse.y (java_check_regular_methods): Fix diagnostic message for
more restrictive overriding of a method from an interface.

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

16 years ago * [gcc.dg/debug/dwarf2/dwarf-char1.c]: Allow '!' comment character.
amylaar [Mon, 5 Sep 2005 14:57:03 +0000 (14:57 +0000)]
* [gcc.dg/debug/dwarf2/dwarf-char1.c]: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

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

16 years ago * gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
amylaar [Mon, 5 Sep 2005 14:56:37 +0000 (14:56 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

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

16 years ago * gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
amylaar [Mon, 5 Sep 2005 14:49:14 +0000 (14:49 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.

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

16 years ago * gcc.dg/pr21255-1.c: Match different pattern for sh64.
amylaar [Mon, 5 Sep 2005 14:20:27 +0000 (14:20 +0000)]
* gcc.dg/pr21255-1.c: Match different pattern for sh64.

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

16 years ago PR target/23683
amylaar [Mon, 5 Sep 2005 12:45:48 +0000 (12:45 +0000)]
PR target/23683
* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
(output_stack_adjust): Use gen_tmp_stack_mem.
(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
(sh_set_return_address, sh_allocate_initial_value): Likewise.
(sh_get_pr_initial_val): Likewise.
(sh_builtin_saveregs): Use gen_frame_mem and change_address.
(sh_initialize_trampoline): Likewise.  Also use adjust_address.
* sh.md (divsi_inv_m0): Use gen_const_mem.
(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
(movdf_i4+1): Use gen_tmp_stack_mem.
(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
(fpu_switch+2): Likewise.
(movv4sf_i, movv16sf_i): Use adjust_address.
(symGOT_load): Set MEM_NOTRAP_P bit.

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

16 years agoCommit entry left out by previous cvs ci.
amylaar [Mon, 5 Sep 2005 12:37:33 +0000 (12:37 +0000)]
Commit entry left out by previous cvs ci.

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

16 years agoMove entry from cp/ChangeLog to testsuite/ChangeLog.
reichelt [Mon, 5 Sep 2005 10:11:52 +0000 (10:11 +0000)]
Move entry from cp/ChangeLog to testsuite/ChangeLog.

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

16 years agoResync.
charlet [Mon, 5 Sep 2005 08:57:18 +0000 (08:57 +0000)]

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

16 years agoRemoved, no longer used.
charlet [Mon, 5 Sep 2005 08:52:50 +0000 (08:52 +0000)]
Removed, no longer used.

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

16 years agoMinor reformatting.
charlet [Mon, 5 Sep 2005 08:12:54 +0000 (08:12 +0000)]
Minor reformatting.

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

16 years agoMinor reformatting.
charlet [Mon, 5 Sep 2005 08:12:03 +0000 (08:12 +0000)]
Minor reformatting.
(Install_Null_Excluding_Check): Moved to the package specification
to use it from other packages to generate the run-time check
associated with the null-exclusion attribute.

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

16 years agoMinor reformatting.
charlet [Mon, 5 Sep 2005 08:11:07 +0000 (08:11 +0000)]
Minor reformatting.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 08:07:00 +0000 (08:07 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting

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

16 years ago2005-09-01 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 5 Sep 2005 08:06:37 +0000 (08:06 +0000)]
2005-09-01  Arnaud Charlet  <charlet@adacore.com>

* Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
Note that the platform-specific version of g-soccon.ads for VMS is now
named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
really is a package spec).
Replace s-taspri-linux.ads by s-taspri-posix.ads
Remove references to s-mastop-x86.adb

* system-vxworks-xscale.ads: Removed, no longer used.
* s-vxwork-xscale.ads: Removed, no longer used.

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

16 years ago2005-09-01 Matthew Heaney <heaney@adacore.com>
charlet [Mon, 5 Sep 2005 08:05:32 +0000 (08:05 +0000)]
2005-09-01  Matthew Heaney  <heaney@adacore.com>

* a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
draft (Draft 13, August 2005) of Ada Amendment 1.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 08:04:55 +0000 (08:04 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* g-dirope.ads: Minor reformatting
Document that bounds of result of Base_Name match the input index
Add documentation on environment variable syntax for Expand_Path

* gnat_ugn.texi: Update documentation to include mention of -m switches
Document new treatment of wide characters in max line length
style check.
Remove -gnatL/-gnatZ switches, no longer used.
Add note on pragmas Assertion_Policy and Debug_Policy in discussion
of -gnata switch.

* gnat_rm.texi: Add doc for two argument form of pragma
Add documentation for pragma No_Strict_Aliasing
Add note that explicit component clause overrides pragma Pack.
Add documentation of pragma Debug_Policy

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

16 years ago2005-09-01 Geert Bosch <bosch@adacore.com>
charlet [Mon, 5 Sep 2005 08:04:20 +0000 (08:04 +0000)]
2005-09-01  Geert Bosch  <bosch@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
(VAXGF_Safe_First): Idem.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 08:04:04 +0000 (08:04 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
to a variable that is statically known to be constant.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 08:03:48 +0000 (08:03 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
from the list of required components.
(Is_Controlling_Limited_Procedure): Determine whether an entity is a
primitive procedure of a limited interface with a controlling first
(Is_Renamed_Entry): Determine whether an entry is a procedure renaming
of an entry.
(Safe_To_Capture_Value): A value (such as non_null) is not safe to
capture if it is generated in the second operand of a short-circuit
Do not capture values for variables with address clauses.
(Is_Object_Reference): Treat a function call as an object reference only
if its type is not Standard_Void_Type.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 08:03:33 +0000 (08:03 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_type.adb (Add_One_Interp): If a candidate operation is an
inherited interface operation that has an implementation, use the
implementation to avoid spurious ambiguities.
(Interface_Present_In_Ancestor): In case of concurrent types we can't
use the Corresponding_Record_Typ attribute to look for the interface
because it is set by the expander (and hence it is not always
available). For this reason we traverse the list of interfaces
(available in the parent of the concurrent type).
(Interface_Present_In_Ancestor): Handle entities from the limited view

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

16 years ago2005-09-01 Javier Miranda <miranda@adacore.com>
charlet [Mon, 5 Sep 2005 08:03:17 +0000 (08:03 +0000)]
2005-09-01  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_res.adb (Resolve_Membership_Op): In case of the membership test
"Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
the expander will generate the corresponding run-time check to evaluate
the expression.
(Resolve_Call): Check for legal type of procedure name or prefix that
appears as a trigger in a triggering alternative.
(Valid_Conversion): If expression is ambiguous and the context involves
an extension of System, remove System.Address interpretations.
(Resolve_Qualified_Expression): Reject the case of a specific-type
qualification applied to a class-wide argument. Enhance comment
to explain checking of Original_Node.
(Resolve_Type_Conversion): The location of the error message was not
general enough to handle the general case and hence it has been removed.
In addition, this patch improves the text of the message.
(Resolve_Type_Conversion): Add missing support for access to interface
(Resolve_Type_Conversion): If the target is a class-wide interface type,
do not expand if the expression is the actual in a call, because proper
expansion will take place when the call itself is expanded.
(Resolve_Allocator): If the context is an unchecked conversion, the
allocator inherits its storage pool, if any, from the target type of
the conversion.

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

16 years ago2005-09-01 Javier Miranda <miranda@adacore.com>
charlet [Mon, 5 Sep 2005 08:03:00 +0000 (08:03 +0000)]
2005-09-01  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Controlling_Formals): Anonymous access types
used in controlling parameters exclude null because it is necessary to
read the tag to dispatch, and null has no tag.
(Override_Dispatching_Operation): If the previous operation is inherited
from an interface, it becomes hidden  and does not participate in later
name resolution.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 08:02:37 +0000 (08:02 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
verify that the procedure and the entry are mode conformant.
(Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
as a different operator, which is often a cut-and-paste error.

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

16 years ago2005-09-01 Javier Miranda <miranda@adacore.com>
charlet [Mon, 5 Sep 2005 08:02:21 +0000 (08:02 +0000)]
2005-09-01  Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
access types the null-exclusion and access-to-constant attributes must
also match.
(Analyze_Return_Statement): When the result type is an anonymous access
type, apply a conversion of the return expression to the access type
to ensure that appropriate accessibility checks are performed.
(Analyze_Return_Type): For the case of an anonymous access result type,
generate the Itype and set Is_Local_Anonymous_Access on the type.
Add ??? placeholder for check to disallow returning a limited object
in Ada 2005 unless it's an aggregate or a result of a function call.
Change calls from Subtype_Mark to Result_Definition.
(Analyze_Subprogram_Body): Change formal Subtype_Mark to
Result_Definition in call to Make_Function_Specification.
(Build_Body_To_Inline): Change Set_Subtype_Mark to
(Make_Inequality_Operator): Change formal Subtype_Mark to
Result_Definition in call to Make_Function_Specification.
(Process_Formals): Create the new null-excluding itype if required.
(New_Overloaded_Entity): For an entity overriding an interface primitive
check if the entity also covers other abstract subprograms in the same
scope. This is required to handle the general case, that is, overriding
other interface primitives and overriding abstract subprograms inherited
from some abstract ancestor type.
(New_Overloaded_Entity): For an overriding entity that comes from
source, note the operation that it overrides.
(Check_Conformance, Type_Conformant): Addition of one new formal
to skip controlling formals in the analysis. This is used to
handle overloading of abstract interfaces.
(Base_Types_Match): Add missing case for types imported from
limited-with clauses
(New_Overloaded_Entity): Add barrier to protect the use of
the "alias" attribute.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 08:01:04 +0000 (08:01 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch4.adb (Transform_Object_Operation): In a context off the form
V (Obj.F), the rewriting does not involve the indexed component, but
only the selected component itself.
Do not apply the transformation if the analyzed node is an actual of a
call to another subprogram.
(Complete_Object_Operation): Retain the entity of the
dispatching operation in the selector of the rewritten node. The
entity will be used in the expansion of dispatching selects.
(Analyze_One_Call): Improve location of the error message associated
with interface.
(Analyze_Selected_Component): No need to resolve prefix when it is a
function call, resolution is done when parent node is resolved, as
(Analyze_One_Call): Add a flag to suppress analysis of the first actual,
when attempting to resolve a call transformed from its object notation.
(Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
of the argument list for each interpretation of the operation.
(Try_Object_Operation): The designated type of an access parameter may
be an incomplete type obtained through a limited_with clause, in which
case the primitive operations of the type are retrieved from its full
(Analyze_Call): If this is an indirect call, and the return type of the
access_to_subprogram is incomplete, use its full view if available.

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

16 years ago2005-09-01 Cyrille Comar <comar@adacore.com>
charlet [Mon, 5 Sep 2005 08:00:11 +0000 (08:00 +0000)]
2005-09-01  Cyrille Comar  <comar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
underlying type
to check if a type is Constrained in cases related to code generation
(rather than semantic checking) since otherwise we do not generate
similar code for mutable private types depending if their
discriminants are visible or not.
(Check_Abstract_Overriding): Do not complain about failure to override
the primitive operations used in dispatching selects since they will
always be overriden at the freeze point of the type.
(Access_Definition): Separate out handling for resetting the scope
of an anonymous access function result type. Retrieve the scope
of the associated function rather than using Current_Scope, which
does not have a consistent value (depends on whether we're in the
middle of analyzing formal parameters). Add ??? comment about
finding a cleaner way to handle the special cases of scope setting.
(Process_Incomplete_Dependents): A protected operation is never a
dispatching operation (only its wrapper may be).
(Build_Derived_Record_Type): In case of tagged private types that
implement interfaces add derivation of predefined primitive
(Derive_Subprograms): Replace the Is_Interface_Derivation parameter
by two parameters that are used in case of derivation from abstract
interface types: No_Predefined_Prims is used to avoid the derivation
of predefined primitives from the interface, and Predefined
Prims_Only is used to complete the derivation predefined primitives
in case of private tagged types implementing interfaces.
Fix typo in comments
(Find_Interface_In_Descendant): Protect the frontend against
wrong code with large circularity chains.
(Is_Private_Overriding): Add support for entities overriding interface
subprograms. The test failed because Entities associated with overriden
interface subprograms are always marked as hidden (and used to build
the secondary dispatch table); in this case the overriden entity is
available through the field abstract_interface_alias (cf. override_
(Access_Definition): Set the scope of the type to Current_Scope for the
case of a function with an anonymous access result type.
(Access_Subprogram_Declaration): Handle creation of the type entity for
an access-to-function type with an anonymous access result.
(Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
in handling for N_Access_Function_Definition.
(Analyze_Subtype_Declaration): Modify the text of error message.
(Derived_Type_Declaration): Modify the text of error message.
(Process_Subtype): Modify the text of error message plus cleanup
of one redundant error message.
(Analyze_Component_Declaration): Code cleanup.
(Analyze_Object_Declaration): Code cleanup.
(Analyze_Subtype_Declaration): Propagate the null-exclusion
attribute in case of access types. Code cleanup.
(Array_Type_Declaration): Code cleanup.
(Process_Discriminants): Create the new null-excluding itype
if required. Code cleanup.
(Process_Subtype): Create the new null-excluding itype if
required. Code cleanup.
(Build_Derived_Record_Type): Code cleanup to avoid calling
twice the subprogram derive_subprograms in case of private
types that implement interfaces. In this particular case the
subprogram Complete_Subprograms_Derivation already does the
job associated with the second call.

        * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
        conversion to the full view when generating an operation for a
        discriminant whose type may currently be private.

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

16 years ago2005-09-01 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 5 Sep 2005 07:59:42 +0000 (07:59 +0000)]
2005-09-01  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
clause if the array aggregate is surrounded by parentheses.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 07:59:10 +0000 (07:59 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
defining entity for the instance body, make a new defining identifier
rather than copying the entity of the spec, to prevent accidental
sharing of the entity list.
(Check_Private_View): When exchanging views of private types, build the
list of exchanged views as a stack, to ensure that on exit the exchanges
are undone in the proper order.
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
Restore the compilation environment in case of instantiation_error.
(Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
for an anonymous access result.
(Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
(Formal_Entity): Handle properly the case of a formal package that
denotes a generic package renaming.

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

16 years ago2005-09-01 Javier Miranda <miranda@adacore.com>
charlet [Mon, 5 Sep 2005 07:58:52 +0000 (07:58 +0000)]
2005-09-01  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
become local to the whole package.
(Install_Limited_Withed_Unit): Instead of unchaining real entities if
the package was already analyzed the new algorithm "replaces" the
real entities by the shadow ones. This is required to ensure that
the order of these entities in the homonym chains does not change;
otherwise we can have undefined references at linking time because
in case of conflicts the external name of the entities will have
a suffix that depends on the order of the entities in the chain.
(Remove_Limited_With_Clause): Complementary code that completes the
new algorithm and replaces the shadow entities by the real ones.
(Install_Limited_Withed_Unit): When unchaining entities before the
installation of the shadow entities, only regular entities of the
public part must be taken into account. This is required to
keep this routine in synch with the work done by Remove_Limited_
(Install_Limited_With_Clause): Introduce implicit limited_with_clause
even if unit is analyzed, because the analysis of the unit is
idempotent in any case, and the limited view of the unit may have to
be installed for proper visibility.
(Expand_Limited_With_Clause): Even if the unit in the implicit
with_clause has been analyzed already, a limited view of the package
must be built for the current context, if it does not exist yet.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:58:38 +0000 (07:58 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
error msgs for most common cases.
Use new errout insertion char < (conditional warning)

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

16 years ago2005-09-01 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 5 Sep 2005 07:58:05 +0000 (07:58 +0000)]
2005-09-01  Thomas Quinot  <quinot@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
'Address attribute reference with an overloaded prefix, use the
location of the prefix (not the location of the attribute reference) as
the error location.
(Analyze_Attribute, case 'Size): The name of an enumeration literal, or
a function renaming thereof, is a valid prefix for 'Size (where it is
intepreted as a function call).
(Statically_Denotes_Entity): New predicate to determine whether the
prefix of an array attribute can be considered static.

PR ada/9087
(Eval_Attr): Fix failure to evaluate Component_Size for
unconstrained arrays (resulted in wrong value in packed case, since
back end cannot handle this case)

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:56:34 +0000 (07:56 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* scng.adb (Check_End_Of_Line): Count characters, rather than bytes
(makes a difference for wide characters)

* widechar.adb, widechar.ads:
Add Wide_Char_Byte_Count feature to count chars vs bytes

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

16 years ago2005-09-01 Vincent Celier <celier@adacore.com>
charlet [Mon, 5 Sep 2005 07:56:15 +0000 (07:56 +0000)]
2005-09-01  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
directories of projects that have no Ada sources.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:56:02 +0000 (07:56 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]

* par-prag.adb: Implement new pragma Debug_Policy

* sem_prag.adb Implement new pragma Debug_Policy
(Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
Component_Size attribute specification. Give warning for ignored pragma

* snames.h, snames.ads, snames.adb: Introduce entries in
Preset_Names for Name_Disp_Asynchronous_Select,
Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
New pragma Debug_Policy

* switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
Switch -gnata also sets Debug_Pragmas_Enabled

* sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
handle an explicit -gnata when compiling predefined files.

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

16 years ago2005-09-01 Vincent Celier <celier@adacore.com>
charlet [Mon, 5 Sep 2005 07:55:41 +0000 (07:55 +0000)]
2005-09-01  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
including those that are inherited.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 07:55:30 +0000 (07:55 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Emmanuel Briot  <briot@adacore.com>

* lib-xref.adb (Output_Overridden_Op): Display information on
overridden operation.

* lib-xref.ads: Add documentation on overridden operations.

* ali.ads (Xref_Entity_Record): Add support for storing the overriding

* ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
overriding entity information.

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

16 years ago2005-09-01 Vincent Celier <celier@adacore.com>
charlet [Mon, 5 Sep 2005 07:55:17 +0000 (07:55 +0000)]
2005-09-01  Vincent Celier  <celier@adacore.com>

* lib-writ.adb: Update Copyright notice
(Write_With_Lines): On platforms where file names are case-insensitive,
record the file names in lower case.
(Write_ALI): For D lines, on platforms where file names are
case-insensitive, record the file names in lower case.

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

16 years ago2005-09-01 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 5 Sep 2005 07:55:06 +0000 (07:55 +0000)]
2005-09-01  Gary Dismukes  <dismukes@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to

* par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
function specs.
Call Set_Result_Definition instead of Set_Subtype_Mark.
(P_Subprogram_Specification): Add parsing of anonymous access result
plus null exclusions. Call Set_Result_Definition instead of

* par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
(P_Access_Type_Definition): Add parsing for an anonymous access result
subtype, plus parsing for null exclusions. Call Set_Result_Definition
instead of Set_Subtype_Mark.

* sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
(Null_Exclusion_Present): Allow this flag for N_Function_Specification.
(Result_Definition): New function for N_Function_Specifications.
(Subtype_Mark): No longer allowed for N_Access_Function_Definition and
(Set_Null_Exclusion_Present): Allow this flag for
(Set_Result_Definition): New procedure for N_Function_Specifications.
(Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
and N_Function_Specification.

* sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
Add support for LIMITED NEW for Ada 2005 AI-419
Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
syntax for anonymous access results.
Replace Subtype_Mark field by Result_Definition in
N_Function_Specification and N_Access_Definition specs.
Add Null_Exclusion_Present to spec of N_Function_Specification.
(Result_Definition): New function for N_Function_Specification and
(Set_Result_Definition): New procedure for N_Function_Specification and

* sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
Result_Definition for cases of N_Access_Function_Definition and
Print "not null" if Null_Exclusion_Present on N_Function_Specification.

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

16 years ago2005-09-01 Javier Miranda <miranda@adacore.com>
charlet [Mon, 5 Sep 2005 07:54:48 +0000 (07:54 +0000)]
2005-09-01  Javier Miranda  <miranda@adacore.com>

* itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
that given an entity T creates and returns an Itype that duplicates the
contents of T. The returned Itype has the null-exclusion
attribute set to True, and its Etype attribute references T
to keep the association between the two entities.
Update copyright notice

* sem_aggr.adb (Check_Can_Never_Be_Null,
Aggregate_Constraint_Checks, Resolve_Aggregate,
Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.

* sem_ch5.adb (Analyze_Assignment): Code cleanup.

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

16 years ago2005-09-01 Laurent Pautet <pautet@adacore.com>
charlet [Mon, 5 Sep 2005 07:54:36 +0000 (07:54 +0000)]
2005-09-01  Laurent Pautet  <pautet@adacore.com>

* g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
position set is provided, we compute one in order to reduce the maximum
length of the keys.  This computation first selects a character
position between 1 and the minimum length of the keys in order to
avoid reducing one of the keys to an empty string.
(Initialize, Compute): When the ratio V to K is too low, the algorithm
does not converge. The initialization procedure now comes with a
maximum number of iterations such that when exceeded, an exception is
raised in Compute. The user can initialize this ratio to another value
and try again
Reformating and updated headers.

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

16 years ago2005-09-01 Jerome Lambourg <lambourg@adacore.com>
charlet [Mon, 5 Sep 2005 07:54:22 +0000 (07:54 +0000)]
2005-09-01  Jerome Lambourg  <lambourg@adacore.com>

* g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
(Free): New deallocation procedure for filter elements
(Close): Deallocate any existing filter for the concerned connection

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:54:12 +0000 (07:54 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
packed arrays.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 07:54:01 +0000 (07:54 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
fully qualified name, to distinguish instances with the same local name.

* g-souinf.ads (Enclosing_Entity): Document that entity name is now
fully qualified.

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

16 years ago2005-09-01 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 5 Sep 2005 07:53:45 +0000 (07:53 +0000)]
2005-09-01  Thomas Quinot  <quinot@adacore.com>

* exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
dummy access formal for RACW/RAS TypeCode TSS.
(Build_TypeCode_Call): Do not generate dummy null access actual for
calls to the TypeCode TSS.

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

16 years ago2005-09-01 Nicolas Setton <setton@adacore.com>
charlet [Mon, 5 Sep 2005 07:53:34 +0000 (07:53 +0000)]
2005-09-01  Nicolas Setton  <setton@adacore.com>

* exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
to be encoded as typ___XBLU_lowerbound__upperbound instead of

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 07:53:24 +0000 (07:53 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
from object notation, the original node is unanalyzed and carries no
semantic information, so that accessiblity checks must be performed on
the type of the actual itself.
(Expand_N_Subprogram_Declaration): Change last actual parameter for
compatibility with Build_Protected_Sub_Specification.
(Check_Overriding_Inherited_Interfaces): Add suport to handle
overloaded primitives.
(Register_Interface_DT_Entry): Use the new name of the formal
the the calls to Expand_Interface_Thunk

* exp_dbug.ads: Augment comments on encoding of protected types to
include the generation of dispatching subprograms when the type
implements at least one interface.

* lib.ads: Extend information in Load_Stack to include whether a given
load comes from a Limited_With_Clause.

* lib-load.adb (From_Limited_With_Chain): New predicate to determine
whether a potential circularity is harmless, because it includes units
loaded through a limited_with clause. Extends previous treatment which
did not handle properly arbitrary combinations of limited and
non-limited clauses.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:53:10 +0000 (07:53 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>
    Doug Rupp  <rupp@adacore.com>

* exp_attr.adb: Handle vax fpt for 'Valid attribute
* exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
* s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
(Valid_D, Valid_F, Valid_G): New functions

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:52:55 +0000 (07:52 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
Implement new insertion char < (conditional warning)
* errutil.adb, erroutc.adb: Implement new insertion char <
(conditional warning).
* sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
(Error_Msg_Warn): New variable for < insertion char.
* prj-nmsc.adb: Implement new errout insertion char < (conditional
(Check_For_Source): Change value of Source_Id only after the current
source has been dealt with.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:52:38 +0000 (07:52 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
with 'Valid tests.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:52:27 +0000 (07:52 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* checks.adb (Check_Needed): New procedure, deals with removing checks
based on analysis of short-circuited forms. Also generates warnings for
improper use of non-short-circuited forms.
Code clean ups.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:52:12 +0000 (07:52 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>

* binde.adb: Minor reformatting
(Find_Elab_Order): Output warning if -p used with static elab order

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

16 years ago * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
charlet [Mon, 5 Sep 2005 07:51:25 +0000 (07:51 +0000)]
* s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
and always use the no parameter form for consistency.

* gnat-style.texi: Document rules about Preelaborate/Pure pragmas.

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

16 years ago2005-09-01 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 5 Sep 2005 07:50:46 +0000 (07:50 +0000)]
2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* fname-sf.adb, mlib-tgt.ads,
back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
makegpr.adb: Remove redundant use_clauses.

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

16 years ago2005-09-01 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 5 Sep 2005 07:50:26 +0000 (07:50 +0000)]
2005-09-01  Thomas Quinot  <quinot@adacore.com>

* g-soccon-vms.adb: Renamed to g-soccon-vms.ads

* g-soccon-vms.ads: Renamed from g-soccon-vms.adb

* g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
g-soccon-freebsd.ads: Add new constants:

* gen-soccon.c:
Move all target-specific file inclusions and macro definitions to
gsocket.h, in order to ensure that any C code in socket.c will see a
set of constants that is consistent with the contents of g-soccon.ads.

* gsocket.h: Code imported from gen-soccon.c:
Move all target-specific file inclusions and macro definitions to
gsocket.h, in order to ensure that any C code in socket.c will see a set
of constants that is consistent with the contents of g-soccon.ads.
This change also makes gen-soccon self-contained (removing dependencies
upon GCC internal headers).

* g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
iovecs at a time.
(To_Inet_Addr): Now a procedure instead of a function, more efficient.

* socket.c: Minor reformatting.

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

16 years ago2005-09-01 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 5 Sep 2005 07:49:24 +0000 (07:49 +0000)]
2005-09-01  Arnaud Charlet  <charlet@adacore.com>
    Jose Ruiz  <ruiz@adacore.com>

* s-taprop-vxworks.adb:
Move with clauses outside Warnings Off now that dependent units are
(Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
initialization of this unit.
(Specific): Add new procedures Initialize and Delete so that this
package can be used for VxWorks 5.x and 6.x
(ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
differences between VxWorks 5.x and 6.x
Minor reformatting.
(Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
Use only Preelaborate-compatible constructs.

* s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
(Delete, Initialize): New procedures.

* s-osinte-vxworks.adb: Body used to handle differences between
VxWorks 5.x and 6.x
(kill, Set_Time_Slice, VX_FP_TASK): New functions.

* s-osinte-vxworks.ads: Minor reformatting.
Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
(VX_FP_TASK): Now a function, to handle differences between VxWorks 5
and 6.
(Set_Time_Slice): New function, replacing kerneltimeSlice to share code
between Vxworks 5 and 6.
(taskLock, taskUnlock): Removeed, no longer used.

* adaint.c: The wait.h header is not located in the sys directory on
VxWorks when using RTPs.
(__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
using RTPs.
(__gnat_dup): dup is available on Vxworks when using RTPs.
(__gnat_dup2): dup2 is available on Vxworks when using RTPs.

* cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.

* expect.c: The wait.h header is not located in the sys directory on
VxWorks when using RTPs.

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

16 years ago * s-tataat.adb, a-tasatt.adb:
charlet [Mon, 5 Sep 2005 07:48:10 +0000 (07:48 +0000)]
* s-tataat.adb, a-tasatt.adb:
Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.

* s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
these procedures to body, and renamed Abort_Defer, Abort_Undefer.
(Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
longer used.

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

16 years ago2005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 5 Sep 2005 07:47:56 +0000 (07:47 +0000)]
2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* a-tags.adb (IW_Membership): Give support to
"Iface_CW_Typ in T'Class". For this purpose the functionality of this
subprogram has been extended to look for the tag in the ancestors tag
Update the structure of the GNAT Dispatch Table to reflect the
additional two tables used in dispatching selects.
Introduce appropriate array types and record components in
Type_Specific_Data to reflect the two tables.
(Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
the TSD of a tag, indexed by position.
(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
operation kind in the TSD of a tag, indexed by position.

* a-tags.ads: Introduce an enumeration type to capture different
primitive operation kinds. Define a constant reflecting the number of
predefined primitive operations.
(Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
of an entry wrapper.
(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
callable entity of a primitive operation.

* exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
primitive operations used in dispatching selects for limited
interfaces, limited tagged, task and protected types what implement a
limited interface.
(Freeze_Type): Generate the bodies of the primitive operations used in
dispatching selects for limited tagged, task and protected types that
implement a limited interface. Generate statements to populate the two
auxiliary tables used for dispatching in select statements.
(Freeze_Record_Type): Add call to initialize the dispatch table entries
associated with predefined interface primitive operations.
(Build_Dcheck_Function): Change Set_Subtype_Mark to
(Build_Variant_Record_Equality): Change Subtype_Mark to
(Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
(Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
(Build_Assignment): Simplify the code that adds the run-time-check.
(Expand_N_Object_Declaration): Code cleanup.

* exp_ch7.adb (Make_Clean): Select the appropriate type for locking
entries when there is a protected type that implements a limited

* exp_ch9.adb: Add package Select_Expansion_Utilities that contains
common routines used in expansion of dispatching selects.
(Add_Private_Declarations): Select the appropriate protection type when
there is a protected type that implements a limited interface.
(Build_Parameter_Block): Generate a wrapped parameter block.
(Build_Protected_Subprogram_Body): Select the appropriate type for
locking entries when there is a protected type that implements a
limited interface.
(Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
classified as entry wrappers.
(Expand_N_Asynchronous_Select): Add support for expansion of dispatching
asynchronous selects.
(Expand_N_Conditional_Entry_Call): Add support for expansion of
dispatching conditional selects.
(Expand_N_Protected_Type_Declaration): Select the appropriate type for
protection when there is a protected type that implements limited
(Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
timed selects.
(Extract_Dispatching_Call): Extract the entity of the name of a
dispatching call, the object parameter, actual parameters and
corresponding formals.
(Make_Initialize_Protection): Correct logic of protection initialization
when there is a protected type that implements a limited interface.
(Parameter_Block_Pack): Populate a wrapped parameter block with the
values of actual parameters.
(Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
block and assign them to the original actual parameters.

* exp_ch9.ads (Subprogram_Protection_Mode): New type.
(Build_Protected_Sub_Specification): Change the type and name of the
last formal to account for the increased variety of protection modes.

* einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
entities. Used to save the value of the Is_Hidden attribute when the
limited-view is installed.
(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
the attribute of procedures classified as entry wrappers.
(Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
entity of a primitive wrapper.
(Write_Entity_Flags): Output the name and value of the
Is_Primitive_Wrapper attribute.
(Write_Field27_Name): Output the name and entity of the field Wrapped_
(Underlying_Type): If we have an incomplete entity that comes from
the limited view then we return the Underlying_Type of its non-limited
view if it is already available.
(Abstract_Interface_Alias): Flag applies to all subrogram kinds,
including operators.
(Write_Field26_Name): Add entry for Overridden_Operation
(Overridden_Operation): New attribute of functions and procedures.

* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
predefined position in the dispatch table for the primitive operations
used in dispatching selects.
(Init_Predefined_Interface_Primitives): Remove the hardcoded number of
predefined primitive operations and replace it with
(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
the names of the generated primitive operations used in dispatching
(Init_Predefined_Interface_Primitives): No need to inherit primitives in
case of abstract interface types. They will be inherit by the objects
implementing the interface.
(Make_DT): There is no need to inherit the dispatch table of the
ancestor interface for the elaboration of abstract interface types.
The dispatch table will be inherited by the object implementing the
(Copy_Secondary_DTs): Add documentation.
(Validate_Position): Improve this static check in case of
aliased subprograms because aliased subprograms must have
the same position.
(Init_Predefined_Interface_Primitives): New subprogram that initializes
the entries associated with predefined primitives of all the secondary
dispatch tables.
(Build_Anonymous_Access_Type): Removed.
(Expand_Interface_Actuals): With the previous cleanup there is no need
to build an anonymous access type. This allows further cleanup in the
code generated by the expander.
(Expand_Interface_Conversion): If the actual is an access type then
build an internal function to handle the displacement. If the actual
is null this function returns null because no displacement is
required; otherwise performs a type conversion that will be
expanded in the code that returns the value of the displaced actual.
(Expand_Interface_Actuals): Avoid the generation of unnecessary type
conversions that have no effect in the generated code because no
displacement is required. Code cleanup; use local variables to
avoid repeated calls to the subprogram directly_designated_type().

* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
Classify the primitive operations used in dispatching selects as
(Implements_Limited_Interface): Determine whether some type either
directly implements a limited interface or extends a type that
implements a limited interface.
(Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
(Expand_Subtype_From_Expr): Do not build actual subtype if the
expression is limited.
(Find_Interface_Tag): Add code to handle class-wide types and
entities from the limited-view.

* rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,

* sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
of procedure name or prefix that appears as a trigger in a triggering

* uintp.ads: Introduce constants Uint_11 and Uint_13.

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

16 years ago2005-09-01 Robert Dewar <dewar@adacore.com>
charlet [Mon, 5 Sep 2005 07:47:26 +0000 (07:47 +0000)]
2005-09-01  Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* exp_ch4.adb (Expand_N_In): Replace test of expression in its own
type by valid test and generate warning.
(Tagged_Membership): Generate call to the run-time
subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
Change formal name Subtype_Mark to Result_Definition in several calls to
(Expand_Allocator_Expression): Add tests for suppression of the AI-344
check for proper accessibility of the operand of a class-wide allocator.
The check can be left out if checks are suppressed or if the expression
has a specific tagged type whose level is known to be safe.

* exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
generates the run-time check associated with null-excluding entities.
(Expand_N_Return_Statement): Add tests to determine if the accessibility
check on the level of the return expression of a class-wide function
can be elided. The check usually isn't needed if the expression has a
specific type (unless it's a conversion or a formal parameter). Also
add a test for whether accessibility checks are suppressed. Augment
the comments to describe the conditions for performing the check.

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

16 years agoPR ada/23646
charlet [Mon, 5 Sep 2005 07:46:59 +0000 (07:46 +0000)]
PR ada/23646

* s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
Remove reference to System.Exceptions.

* s-mastop-x86.adb: Removed, no longer used.

* s-traceb-mastop.adb: Adjust calls to Pop_Frame.

* a-excach.adb: Minor reformatting.

* a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
instead fix new warnings that were hidden by this change.
(AAA, ZZZ): Removed, replaced by...
(Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
are used instead of constants, to help make Ada.Exception truly
(Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
Raise_Storage_Error): File is now a System.Address, to simplify code.
(Elab code): Removed, no longer used.
(Null_Occurrence): Remove Warnings Off and make this construct
Remove code related to front-end zero cost exception handling, since
it is no longer used.
Remove -gnatL/-gnatZ switches.

* a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
Update use of Except.Msg.

* gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
to front-end zero cost exception handling, since it is no longer used.
Remove -gnatL/-gnatZ switches.

* lib-writ.ads: Minor reformatting
Remove doc of UX

* Makefile.rtl: Remove references to s-except*, s-mastop-x86*

* Make-lang.in: Remove references to s-except.ads

* s-except.ads: Removed, no longer used.

* s-mastop.ads, s-mastop.adb:
(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
Remove reference to System.Exceptions.

* raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
switch-b.adb: Remove code related to front-end zero cost exception
handling, since it is no longer used.
Remove -gnatL/-gnatZ switches.

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

16 years ago * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
charlet [Mon, 5 Sep 2005 07:46:06 +0000 (07:46 +0000)]
* a-calend-mingw.adb: Add call to OS_Primitives.Initialize;

* s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
dependent units are Preelaborate.
(Initialize): Call Interrupt_Managemeent.Initialize and
OS_Primitives.Initialize to ensure proper initialization of this unit.
Remove use of System.Soft_Links
Make this unit Preelaborate.

* s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
s-tratas.ads, s-tasinf.ads: Minor reformatting.
Add pragma Preelaborate, since these packages are suitable for this
Update comments.

* s-traent-vms.ads, s-intman-dummy.adb,
s-taprop-dummy.adb: Make this unit Preelaborate.

* s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
s-intman-solaris.adb, s-intman-irix-athread.adb,
s-intman-irix.adb: Mark this unit Preelaborate.
(Initialize): New procedure.
Update comments.

* s-taspri-linux.ads: Removed.

* s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
as done by other implementations (e.g. posix).

* s-taprop.ads (Timed_Delay): Update spec since the caller now is
responsible for deferring abort.
Mark this unit Preelaborate.

* s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
proper initialization of the tasking run-time.

* s-tasdeb.ads: Mark this unit Preelaborate.
(Known_Tasks): Add explicit default value to avoid elaboration code.

* s-inmaop-vms.adb (Elaboration code): Add call to
Interrupt_Management.Initialize since the elaboration code depends on
proper initialization of this package.

* s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
s-osprim-posix.adb: Make this unit Preelaborate.

* a-calend.adb: Add call to OS_Primitives.Initialize

* a-elchha.adb: Update use of Except.Id.Full_Name.
Minor reformatting.
Remove use of Ada.Exceptions.Traceback when possible, cleaner.

* a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
Move with clauses outside Warnings Off now that dependent units are
Use raise xxx with "..."; Ada 2005 form.

* a-taside.ads, a-taside.adb:
Remove some dependencies, to make it easier to make this unit truly
Rewrite some code to be conformant with Preelaborate rules.

* g-os_lib.adb: Remove non-preelaborate code so that this unit can be
marked Preelaborate in the future.

* s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
these units Preelaborate.

* s-exctab.adb: Update use of Except.Id.Full_Name.

* s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
(Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
Set_Exc_Stack_Addr): Removed, no longer used.
Remove reference to *Machine_State_Addr*, no longer needed.

* s-stalib.ads: Mark this unit as Preelaborate[_05].
(Exception_Data): Full_Name is now a System.Address so that this unit
can be made Preelaborate.
Clean up/simplify code thanks to Full_Name being a System.Address.
Remove obsolete pragma Suppress (All_Checks), no longer needed.

* s-taskin.ads, s-taskin.adb:
Move with clauses outside Warnings Off now that dependent units are
Make this unit Preelaborate.
(Initialize): New proceduure, replace elaboration code and makes the
set up of the tasking run-time cleaner.
(Detect_Blocking): Now a function instead of a deferred boolean, to
obey Preelaborate rules.

* s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
soft links, no longer used.

* s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
packages are suitable for this categorization.

* s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
since we compile run-time sources in Ada 2005 mode.
(Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
avoid having s-taprop*.adb depend on s-soflin and to avoid code
Remove reference to *Machine_State_Addr*, no longer needed.

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

16 years agoDaily bump.
gccadmin [Mon, 5 Sep 2005 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

16 years ago2005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Sun, 4 Sep 2005 20:36:52 +0000 (20:36 +0000)]
2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/23321
* io/transfer.c(data_transfer_init):  Check for a too-large
record number.  Return if sseek failed.

2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/23321
* gfortran.dg/direct_io_4.f90:  New test case.

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

16 years ago2005-09-04 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Sun, 4 Sep 2005 17:05:39 +0000 (17:05 +0000)]
2005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
            Rasmus Hahn  <rassahah@neofonie.de>

        PR libobjc/23108
        * objc.dg/type-stream-1.m: New test.

2005-09-04  Andrew Pinski  <pinskia@physics.uc.edu>
            Rasmus Hahn  <rassahah@neofonie.de>

        PR libobjc/23108
        * archive.c (objc_write_type): Correct the element offset.
        (objc_read_type): Likewise.

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

16 years ago PR target/23721
danglin [Sun, 4 Sep 2005 14:51:58 +0000 (14:51 +0000)]
PR target/23721
* pa.c (emit_move_sequence): Fix typo in last change.

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

16 years ago * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
jsm28 [Sun, 4 Sep 2005 12:28:33 +0000 (12:28 +0000)]
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
rw.po, sv.po, tr.po, vi.po: Update.

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

16 years ago * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
jsm28 [Sun, 4 Sep 2005 12:15:19 +0000 (12:15 +0000)]
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
rw.po, sv.po, tr.po, zh_CN.po: Update.

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

16 years agofortran/
tobi [Sun, 4 Sep 2005 12:08:53 +0000 (12:08 +0000)]
PR fortran/23661
* io.c (match_io): Correctly backup if PRINT followed by
symbol which is not a namelist.  Force blank between PRINT
and namelist in free form.
PR fortran/23661
* gfortran.dg/print_fmt_1.f90, gfortran.dg/print_fmt_2.f90
gfortran.dg/print_fmt_3.f90: New test.

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

16 years agoDaily bump.
gccadmin [Sun, 4 Sep 2005 00:16:13 +0000 (00:16 +0000)]
Daily bump.

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

16 years ago * io/read.c (read_x): Take int argument instead of fnode * and
jakub [Sat, 3 Sep 2005 18:54:55 +0000 (18:54 +0000)]
* io/read.c (read_x): Take int argument instead of fnode * and
digging the N from F->u.n.
* io/io.h (read_x): Adjust prototype.
* io/transfer.c (formatted_transfer): Adjust callers.  Don't clobber
f->u.n for FMT_T.

* gfortran.dg/fmt_t_1.f90: New test.

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

16 years ago PR rtl-optimization/23454
jakub [Sat, 3 Sep 2005 18:49:51 +0000 (18:49 +0000)]
PR rtl-optimization/23454
* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
is true.

* g++.dg/opt/pr23454.C: New test.

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

16 years ago PR c++/23699
mmitchel [Sat, 3 Sep 2005 18:27:39 +0000 (18:27 +0000)]
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.

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

16 years ago PR c++/23699
mmitchel [Sat, 3 Sep 2005 18:18:48 +0000 (18:18 +0000)]
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.

PR c++/21687
* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
finishing processing for a template function in a local class.
2005-09-02  Mark Mitchell  <mark@codesourcery.com>
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.

PR c++/23699
* g++.dg/ext/static1.C: New test.

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

16 years ago PR middle-end/23671
danglin [Sat, 3 Sep 2005 14:33:06 +0000 (14:33 +0000)]
PR middle-end/23671
pa.c (emit_move_sequence): Use replace_equiv_address instead of

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

16 years agoDaily bump.
gccadmin [Sat, 3 Sep 2005 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

16 years ago * gcc.c-torture/execute/frame-address.c (check_fa_mid): Avoid
rth [Fri, 2 Sep 2005 22:26:59 +0000 (22:26 +0000)]
    * gcc.c-torture/execute/frame-address.c (check_fa_mid): Avoid
        tail call to check_fa_work.

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

16 years agoMove from root of repository to intented place.
schwab [Fri, 2 Sep 2005 20:45:43 +0000 (20:45 +0000)]
Move from root of repository to intented place.

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

16 years ago * io/unix.c (stream_ttyname): Protect use of ttyname by
fxcoudert [Fri, 2 Sep 2005 20:24:49 +0000 (20:24 +0000)]
* io/unix.c (stream_ttyname): Protect use of ttyname by
* configure.ac: Add check for ttyname.
* config.h.in: Regenerate.
* configure: Regenerate.

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

16 years ago* config/arm/arm.c (arm_legitimize_address): Limit the value passed
nico [Fri, 2 Sep 2005 19:09:33 +0000 (19:09 +0000)]
* config/arm/arm.c (arm_legitimize_address): Limit the value passed
to bit_count to 32 bits.

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

16 years ago PR c++/21687
mmitchel [Fri, 2 Sep 2005 18:29:28 +0000 (18:29 +0000)]
PR c++/21687
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.

PR c++/21687
* g++.dg/other/gc3.C: New test.

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